-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCMakeLists.txt
73 lines (59 loc) · 2.13 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#
# DLA-ND
# (c)2000-8,14-15,23 Mark J. Stock <markjstock@gmail.com>
#
CMAKE_MINIMUM_REQUIRED( VERSION 2.8.12 )
PROJECT( dla-nd C )
SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "RelWithDebInfo")
IF (NOT CMAKE_BUILD_TYPE)
SET (CMAKE_BUILD_TYPE "Release")
ENDIF ()
SET (CMAKE_BUILD_TYPE "Release" CACHE STRING "Select which configuration to build")
#SET (DO_STATIC FALSE CACHE BOOL "Link in libraries statically")
SET (CMAKE_VERBOSE_MAKEFILE on)
SET (CMAKE_EXPORT_COMPILE_COMMANDS on)
IF (CMAKE_C_COMPILER_ID STREQUAL "GNU")
# support Core2 at a minimum, haswell ideally
SET (CMAKE_C_FLAGS "-Wall -Wformat -std=c99")
SET (CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb")
SET (CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -march=native -g -ggdb")
SET (CMAKE_C_FLAGS_RELEASE "-O3 -march=native -fomit-frame-pointer")
ELSEIF (CMAKE_C_COMPILER_ID STREQUAL "Clang")
SET (CMAKE_C_FLAGS "-Wall -Wformat -std=c99")
SET (CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb")
SET (CMAKE_C_FLAGS_RELEASE "-O3")
ELSEIF (MSVC)
SET (CMAKE_C_FLAGS "/Ox")
ENDIF ()
IF( WIN32 )
ELSEIF( APPLE )
INCLUDE_DIRECTORIES ( /System/Library/Frameworks )
#FIND_LIBRARY(IOKIT_LIBRARY IOKit)
#MARK_AS_ADVANCED ( IOKIT_LIBRARY)
#INCLUDE_DIRECTORIES ( "/usr/local/include" )
#SET( PLATFORM_LIBS ${FRAMEWORK_LIBS} ${IOKIT_LIBRARY} )
SET( PLATFORM_LIBS m png z )
ELSEIF( UNIX )
SET( PLATFORM_LIBS m png z )
ENDIF()
#IF( DO_STATIC )
# SET (CPREPROCDEFS ${CPREPROCDEFS} -static)
#ENDIF()
ADD_DEFINITIONS (${CPREPROCDEFS})
INCLUDE_DIRECTORIES( "src" )
SET(SOURCES "src/setup.c"
"src/density.c"
"src/inout.c"
"src/ndtree.c"
"src/main.c")
# create a binary for the 2D version
ADD_EXECUTABLE( dla-2d ${SOURCES} )
TARGET_LINK_LIBRARIES( dla-2d ${PLATFORM_LIBS} )
TARGET_COMPILE_DEFINITIONS( dla-2d PRIVATE -DDIM=2 -DNCHILD=4 )
# same for 3d and 4d
ADD_EXECUTABLE( dla-3d ${SOURCES} )
TARGET_LINK_LIBRARIES( dla-3d ${PLATFORM_LIBS} )
TARGET_COMPILE_DEFINITIONS( dla-3d PRIVATE -DDIM=3 -DNCHILD=8 )
ADD_EXECUTABLE( dla-4d ${SOURCES} )
TARGET_LINK_LIBRARIES( dla-4d ${PLATFORM_LIBS} )
TARGET_COMPILE_DEFINITIONS( dla-4d PRIVATE -DDIM=4 -DNCHILD=16 )