src/CMakeLists.txt
branchnew_graphics
changeset 417 c503e0c6a740
parent 412 721c60072091
child 422 5e4c8631779e
equal deleted inserted replaced
416:38cba347a3a9 417:c503e0c6a740
     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})