diff options
| author | Tomas Chvatal <scarabeus@gentoo.org> | 2009-05-16 14:04:24 +0200 |
|---|---|---|
| committer | Tomas Chvatal <scarabeus@gentoo.org> | 2009-05-16 14:04:24 +0200 |
| commit | 52671935e3337cf0b76259964aa539a72869f486 (patch) | |
| tree | 4fab0c161fe63952b73689c5733931e8552de92e /src/CMakeLists.txt | |
| parent | 556544095bb548f07f771e4e0bbfe97333e8ee82 (diff) | |
Update build system to include source files automaticaly.
Diffstat (limited to 'src/CMakeLists.txt')
| -rw-r--r-- | src/CMakeLists.txt | 78 |
1 files changed, 13 insertions, 65 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9f80566..2d19042 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -22,64 +22,15 @@ ENDIF ( BUILD_SERVER ) ############################################################################### # SOURCE SPECIFICATION ############################################################################### -# Command for finding correct file names in directory, replace DIR with -# directory name you want eg: base -# find ./ -maxdepth 1 -type f -name \*.c |grep "$" |sed -e 's/^\.\//\$\{WORKDIR\}\/DIR\//' -e 's/\.c//' |tr '\n' ' ' -SET ( SRC_base - ${WORKDIR}/net/udp ${WORKDIR}/net/tcp - ${WORKDIR}/base/udp_server - ${WORKDIR}/base/main ${WORKDIR}/base/shot - ${WORKDIR}/base/space ${WORKDIR}/base/checkFront - ${WORKDIR}/base/storage ${WORKDIR}/base/myTimer - ${WORKDIR}/base/protect ${WORKDIR}/base/list - ${WORKDIR}/base/arena ${WORKDIR}/base/server - ${WORKDIR}/base/serverSelect ${WORKDIR}/base/serverSendMsg - ${WORKDIR}/base/textFile ${WORKDIR}/base/gun - ${WORKDIR}/base/arenaFile ${WORKDIR}/base/modules - ${WORKDIR}/base/net_multiplayer ${WORKDIR}/base/index - ${WORKDIR}/base/item ${WORKDIR}/base/tux - ${WORKDIR}/base/director ${WORKDIR}/base/idManager - ${WORKDIR}/base/homeDirector ${WORKDIR}/base/proto - ${WORKDIR}/base/shareFunction ${WORKDIR}/base/buffer - ${WORKDIR}/base/archive ${WORKDIR}/base/downServer - ${WORKDIR}/net/dns -) - -SET ( SRC_client - ${WORKDIR}/client/layer ${WORKDIR}/client/term - ${WORKDIR}/client/screen ${WORKDIR}/client/interface - ${WORKDIR}/client/client ${WORKDIR}/client/chat - ${WORKDIR}/client/configFile ${WORKDIR}/client/saveLoad - ${WORKDIR}/client/font ${WORKDIR}/client/game - ${WORKDIR}/client/radar ${WORKDIR}/client/panel - ${WORKDIR}/client/image ${WORKDIR}/client/keyboardBuffer - ${WORKDIR}/client/pauza ${WORKDIR}/client/saveDialog - ${WORKDIR}/client/hotKey ${WORKDIR}/client/fontConfig - - ${WORKDIR}/screen/choiceArena - ${WORKDIR}/screen/settingKeys ${WORKDIR}/screen/table - ${WORKDIR}/screen/setting ${WORKDIR}/screen/credits - ${WORKDIR}/screen/world ${WORKDIR}/screen/analyze - ${WORKDIR}/screen/mainMenu ${WORKDIR}/screen/browser - ${WORKDIR}/screen/gameType ${WORKDIR}/screen/downArena - - ${WORKDIR}/widget/widget_check ${WORKDIR}/widget/widget_button - ${WORKDIR}/widget/widget_textfield ${WORKDIR}/widget/widget_label - ${WORKDIR}/widget/widget_buttonimage ${WORKDIR}/widget/widget_image - ${WORKDIR}/widget/widget_select ${WORKDIR}/widget/widget_catchkey - ${WORKDIR}/widget/widget_choicegroup ${WORKDIR}/widget/widget_statusbar - ${WORKDIR}/widget/widget -) - -SET ( SRC_audio - ${WORKDIR}/audio/audio ${WORKDIR}/audio/music - ${WORKDIR}/audio/sound -) - -SET ( SRC_server - ${WORKDIR}/server/log ${WORKDIR}/server/serverConfigFile - ${WORKDIR}/server/highScore ${WORKDIR}/server/publicServer -) +FILE ( GLOB DIRS * ) +FOREACH ( dir ${DIRS} ) + GET_FILENAME_COMPONENT (fn ${dir} NAME) + IF ( ${fn} STREQUAL "modules" ) + ADD_SUBDIRECTORY ( ${fn} ) + ELSE ( ${fn} STREQUAL "modules" ) + INCLUDE ( ${fn}/CMakeLists.txt OPTIONAL ) + ENDIF ( ${fn} STREQUAL "modules" ) +ENDFOREACH ( dir ) ############################################################################### # INCLUDE CONFIGURED HEADERS ############################################################################### @@ -94,10 +45,11 @@ ENDIF ( ENABLE_IPV6 ) # AUDIO CHECK ############################################################################### IF ( NOT BUILD_SERVER ) + SET ( SRC_compile ${SRC_net} ${SRC_widget} ${SRC_screen} ${SRC_base} ${SRC_client} ) IF ( WITH_AUDIO ) MESSAGE ( STATUS "<Building with audio as requested>" ) - SET ( SRC_compile ${SRC_base} ${SRC_client} ${SRC_audio} ) - INCLUDE_DIRECTORIES ( ${WORKDIR}/audio ) + SET ( SRC_compile ${SRC_compile} ${SRC_audio} ) + INCLUDE_DIRECTORIES ( ${CMAKE_CURRENT_SOURCE_DIR}/audio ) ELSE ( WITH_AUDIO ) ADD_DEFINITIONS ( -DNO_SOUND ) ENDIF ( WITH_AUDIO ) @@ -109,15 +61,11 @@ IF ( WITH_OPENGL ) ADD_DEFINITIONS ( -DSUPPORT_OPENGL ) ENDIF ( WITH_OPENGL ) ############################################################################### -# MODULES -############################################################################### -ADD_SUBDIRECTORY ( modules ) -############################################################################### # SERVER COMPILATION ############################################################################### IF ( BUILD_SERVER ) MESSAGE ( STATUS "<Building server as requested>" ) - SET ( SRC_compile ${SRC_base} ${SRC_server} ) + SET ( SRC_compile ${SRC_net} ${SRC_server} ${SRC_base} ) ADD_EXECUTABLE ( ${APPNAME} ${SRC_compile} ) ELSE ( BUILD_SERVER ) ############################################################################### |