src/CMakeLists.txt
branchnew_graphics
changeset 417 c503e0c6a740
parent 412 721c60072091
child 422 5e4c8631779e
--- a/src/CMakeLists.txt	Thu Jan 22 00:28:26 2009 +0200
+++ b/src/CMakeLists.txt	Thu Jan 22 01:53:05 2009 +0200
@@ -1,22 +1,37 @@
-FILE(GLOB SOURCE_FILES "*.cc" "Network/*.cc")
-FILE(GLOB HEADER_FILES "*.hh" "Network/*.hh")
+FILE(GLOB SOURCE_FILES "*.cc")
+FILE(GLOB HEADER_FILES "*.hh")
 
 set_source_files_properties("version.c" PROPERTIES GENERATED true)
 
+# Component selection
+set (GRAPHICS_ENABLED true)
+set (NETWORK_ENABLED true)
+
+mark_as_advanced (CLEAR GRAPHICS_ENABLED NETWORK_ENABLED)
+
 # Generate config.h
 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY)
 include_directories("${CMAKE_CURRENT_BINARY_DIR}")
 
 # main module
 set (CORE_CLANLIB_COMPONENTS Core App Signals)
-set (CORE_SOURCES ${SOURCE_FILES} ${HEADER_FILES})
+set (CORE_SOURCES ${SOURCE_FILES} ${HEADER_FILES} "version.c")
 
 # Graphics module
-add_subdirectory(Graphics)
+if (GRAPHICS_ENABLED)
+    add_subdirectory (Graphics)
+
+endif (GRAPHICS_ENABLED)
+
+# Network module
+if (NETWORK_ENABLED)
+    add_subdirectory (Network)
+
+endif (NETWORK_ENABLED)    
 
 # Libraries
 set (CLANLIB_VERSION 0.8)
-set (CLANLIB_COMPONENTS ${CORE_CLANLIB_COMPONENTS} ${GRAPHICS_CLANLIB_COMPONENTS})
+set (CLANLIB_COMPONENTS ${CORE_CLANLIB_COMPONENTS} ${GRAPHICS_CLANLIB_COMPONENTS} ${NETWORK_CLANLIB_COMPONENTS})
 
 # ClanLib 0.8
 message (STATUS "Finding ClanLib version=${CLANLIB_VERSION}, components=${CLANLIB_COMPONENTS}" )
@@ -26,7 +41,7 @@
 
 # build list of libs/source files
 set(LIBS ${LIBS} ${ClanLib_LIBRARIES})
-set(SOURCES ${CORE_SOURCES} ${GRAPHICS_SOURCES} "version.c")
+set(SOURCES ${CORE_SOURCES} ${GRAPHICS_SOURCES} ${NETWORK_SOURCES})
 
 # Assumes the project generates only one executable. If you need more, you'll need to alter
 # the script and replace ${PROJECT_SHORT_NAME} by executable name.