1 FILE(GLOB SOURCE_FILES "*.cc" "Network/*.cc") |
1 FILE(GLOB SOURCE_FILES "*.cc") |
2 FILE(GLOB HEADER_FILES "*.hh" "Network/*.hh") |
2 FILE(GLOB HEADER_FILES "*.hh") |
3 |
3 |
4 set_source_files_properties("version.c" PROPERTIES GENERATED true) |
4 set_source_files_properties("version.c" PROPERTIES GENERATED true) |
|
5 |
|
6 # Component selection |
|
7 set (GRAPHICS_ENABLED true) |
|
8 set (NETWORK_ENABLED true) |
|
9 |
|
10 mark_as_advanced (CLEAR GRAPHICS_ENABLED NETWORK_ENABLED) |
5 |
11 |
6 # Generate config.h |
12 # Generate config.h |
7 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY) |
13 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY) |
8 include_directories("${CMAKE_CURRENT_BINARY_DIR}") |
14 include_directories("${CMAKE_CURRENT_BINARY_DIR}") |
9 |
15 |
10 # main module |
16 # main module |
11 set (CORE_CLANLIB_COMPONENTS Core App Signals) |
17 set (CORE_CLANLIB_COMPONENTS Core App Signals) |
12 set (CORE_SOURCES ${SOURCE_FILES} ${HEADER_FILES}) |
18 set (CORE_SOURCES ${SOURCE_FILES} ${HEADER_FILES} "version.c") |
13 |
19 |
14 # Graphics module |
20 # Graphics module |
15 add_subdirectory(Graphics) |
21 if (GRAPHICS_ENABLED) |
|
22 add_subdirectory (Graphics) |
|
23 |
|
24 endif (GRAPHICS_ENABLED) |
|
25 |
|
26 # Network module |
|
27 if (NETWORK_ENABLED) |
|
28 add_subdirectory (Network) |
|
29 |
|
30 endif (NETWORK_ENABLED) |
16 |
31 |
17 # Libraries |
32 # Libraries |
18 set (CLANLIB_VERSION 0.8) |
33 set (CLANLIB_VERSION 0.8) |
19 set (CLANLIB_COMPONENTS ${CORE_CLANLIB_COMPONENTS} ${GRAPHICS_CLANLIB_COMPONENTS}) |
34 set (CLANLIB_COMPONENTS ${CORE_CLANLIB_COMPONENTS} ${GRAPHICS_CLANLIB_COMPONENTS} ${NETWORK_CLANLIB_COMPONENTS}) |
20 |
35 |
21 # ClanLib 0.8 |
36 # ClanLib 0.8 |
22 message (STATUS "Finding ClanLib version=${CLANLIB_VERSION}, components=${CLANLIB_COMPONENTS}" ) |
37 message (STATUS "Finding ClanLib version=${CLANLIB_VERSION}, components=${CLANLIB_COMPONENTS}" ) |
23 find_package(ClanLib ${CLANLIB_VERSION} REQUIRED COMPONENTS ${CLANLIB_COMPONENTS}) |
38 find_package(ClanLib ${CLANLIB_VERSION} REQUIRED COMPONENTS ${CLANLIB_COMPONENTS}) |
24 |
39 |
25 include_directories(${ClanLib_INCLUDE_DIRS}) |
40 include_directories(${ClanLib_INCLUDE_DIRS}) |
26 |
41 |
27 # build list of libs/source files |
42 # build list of libs/source files |
28 set(LIBS ${LIBS} ${ClanLib_LIBRARIES}) |
43 set(LIBS ${LIBS} ${ClanLib_LIBRARIES}) |
29 set(SOURCES ${CORE_SOURCES} ${GRAPHICS_SOURCES} "version.c") |
44 set(SOURCES ${CORE_SOURCES} ${GRAPHICS_SOURCES} ${NETWORK_SOURCES}) |
30 |
45 |
31 # Assumes the project generates only one executable. If you need more, you'll need to alter |
46 # Assumes the project generates only one executable. If you need more, you'll need to alter |
32 # the script and replace ${PROJECT_SHORT_NAME} by executable name. |
47 # the script and replace ${PROJECT_SHORT_NAME} by executable name. |
33 add_executable("${PROJECT_SHORT_NAME}" ${SOURCES}) |
48 add_executable("${PROJECT_SHORT_NAME}" ${SOURCES}) |
34 target_link_libraries("${PROJECT_SHORT_NAME}" ${LIBS}) |
49 target_link_libraries("${PROJECT_SHORT_NAME}" ${LIBS}) |