diff options
| author | scarab <scarab@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-08-16 19:50:32 +0000 |
|---|---|---|
| committer | scarab <scarab@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-08-16 19:50:32 +0000 |
| commit | 464158b22f42461d12627ebf851281b3f598611a (patch) | |
| tree | e7d26cc5ca50b445d583cdd9b2af64237f0562d6 | |
| parent | 39891754b55ba431d9d94084316e6a76568ad4a9 (diff) | |
" - prechod na nove krasne cmake (not yet uplne, ale uz to funguje)"
git-svn-id: http://opensvn.csie.org/tuxanci_ng@198 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
| -rw-r--r-- | CMakeLists.txt | 281 | ||||
| -rw-r--r-- | config.h | 2 | ||||
| -rw-r--r-- | src/CMakeLists.txt | 169 | ||||
| -rw-r--r-- | src/modules/CMakeLists.txt | 45 |
4 files changed, 304 insertions, 193 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 8edd185..d6f8e75 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,60 +1,67 @@ -# Created by Tomas Chvatal +# Created by Tomas Chvatal (Scarabeus IV) +############################################################################### +# tuxanci/CMakeLists.txt +############################################################################### +# ALL CONDITIONAL OPTIONS +############################################################################### +# -DServer=1 # build server +# -DNO_Audio=1 # disable audio +# -DDebug=1 # enable debug +# -DCMAKE_C_FLAGS=-Wall # modification for CFLAGS +# -DWin=1 # build windows port +# -DNLS=1 # enable Gettext NLS +# -DApple=1 # build apple port +############################################################################### +# OUR OWN CODE HACKS (WHEN CODE CLEANUP IS FINISHED REMOVE THIS) +# ALSO CONTAINS IMPORTANT DEFINITIONS [PREFIX,...] +############################################################################### +ADD_DEFINITIONS ( -DSUPPORT_NET_UNIX_UDP ) +IF ( PREFIX ) + ADD_DEFINITIONS ( -DPREFIX="${PREFIX}" ) +ENDIF ( PREFIX ) +############################################################################### +# BASIC PROJECT VALUES +############################################################################### +PROJECT ( tuxanci ) -# volani se vsema externima moznostma: -# cmake . -DServer=1 -DNO_Audio=1 -DDebug=1 -DCMAKE_C_FLAGS=-Wall -DWin=1" -# make -# make install +IF ( COMMAND cmake_policy ) + cmake_policy( SET CMP0003 NEW ) +ENDIF ( COMMAND cmake_policy ) -# !! pri zmene zdrojovych souboru se podivejte co je treba delat do souboru !! -# !! CMakeLists.txt v adresari src !! SET ( APPNAME "tuxanci") IF ( Server ) SET ( APPNAME "tuxanci-server" ) ENDIF ( Server ) + MESSAGE ( "<******************************>" ) MESSAGE ( "Configure for ${APPNAME} Started" ) MESSAGE ( "<******************************>" ) + CMAKE_MINIMUM_REQUIRED ( VERSION 2.4.6 ) CMAKE_MINIMUM_REQUIRED ( VERSION 2.4.6 FATAL_ERROR ) -IF ( COMMAND cmake_policy ) - cmake_policy( SET CMP0003 NEW ) -ENDIF ( COMMAND cmake_policy ) -IF ( Apple ) - SET ( CMAKE_OSX_ARCHITECTURES "ppc;i386" ) - SET ( CACHE_INTERNAL "OSX Architectures" FORCE ) - ADD_DEFINITIONS ( -DAPPLE ) -ENDIF ( Apple ) -IF ( Win AND NOT Server ) - # budeme pocitat s tim ze uzivatel ma vse v C:\MinGW\lib ... - # tise predpokladame ze s automatikou chce MinGW only, jinak si to bude muset nastavit rucne... - MESSAGE ( "<******************************>" ) - MESSAGE ( "Configuring with hardcoded path for sdl:" ) - MESSAGE ( "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL.dll" ) - MESSAGE ( "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL_image.dll" ) - MESSAGE ( "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL_mixer.dll" ) - MESSAGE ( "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL_ttf.dll" ) - MESSAGE ( "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/include/" ) - MESSAGE ( "<******************************>" ) - SET ( SDL_LIBRARY "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL.dll" ) - SET ( SDLMIXER_LIBRARY "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL_mixer.dll" ) - SET ( SDLTTF_LIBRARY "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL_ttf.dll" ) - SET ( SDLIMAGE_LIBRARY "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL_image.dll" ) - SET ( SDL_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/include/" ) - SET ( SDLMIXER_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/include/" ) - SET ( SDLIMAGE_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/include/" ) - SET ( SDLTTF_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/include/" ) -ENDIF ( Win AND NOT Server) -IF ( Win ) - SET ( CMAKE_RC_COMPILER "C:/MinGW/bin/windres.exe" ) # toto neni vubec dobre vuubec - ENABLE_LANGUAGE ( RC ) -ENDIF ( Win ) -#gettext -IF ( NLS ) - ADD_DEFINITIONS ( -DNLS ) -ENDIF ( NLS) SET ( CMAKE_COLOR_MAKEFILE ON ) -## balickovani +SET ( CMAKE_BUILD_TYPE_SHARED_LIBS ON ) +SET ( CMAKE_C_FLAGS $ENV{CFLAGS} ) +SET ( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} ) +# this specify location of additional cmake sources +SET ( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ) +#various variables +SET ( CMAKE_INSTALL_DATADIR share/ ) +SET ( CMAKE_INSTALL_ETCDIR /etc ) +SET ( WORKDIR ${CMAKE_SOURCE_DIR}/src ) +SET ( CMAKE_INSTALL_BINDIR bin ) +SET ( CMAKE_INSTALL_LIBDIR lib ) +# uninstall +CONFIGURE_FILE ( + "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" + IMMEDIATE @ONLY ) +ADD_CUSTOM_TARGET ( uninstall "${CMAKE_COMMAND}" + -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" ) +############################################################################### +# CPACK (Not used for now) +############################################################################### SET ( CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README" ) SET ( CPACK_GENERATOR "TBZ2" ) SET ( CPACK_SOURCE_GENERATOR "TBZ2" ) @@ -65,55 +72,137 @@ SET ( TUXANCI_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MI SET ( TUXANCI_VERSION_FULL "${TUXANCI_VERSION}.${CPACK_PACKAGE_VERSION_PATCH}" ) SET ( CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${TUXANCI_VERSION_FULL}" ) INCLUDE ( CPack ) - -SET ( CMAKE_BUILD_TYPE_SHARED_LIBS ON ) -# flagy -SET( CMAKE_C_FLAGS $ENV{CFLAGS} ) -SET( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} ) -SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") - -# nazev projektu -PROJECT ( tuxanci ) +############################################################################### +# DEBUG STUFF +############################################################################### IF ( Debug ) - SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -Wall -pipe") - SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -Wall -pipe") + SET( CMAKE_C_FLAGS "-g -O0 -Wall -pipe") + SET( CMAKE_CXX_FLAGS "-g -O0 -Wall -pipe") ADD_DEFINITIONS ( -DDEBUG ) - #SET ( CMAKE_VERBOSE_MAKEFILE on ) -ENDIF ( Debug) -MESSAGE ( "EXTRA Cflags:${CMAKE_C_FLAGS}" ) -MESSAGE ( "EXTRA CXXflags:${CMAKE_CXX_FLAGS}" ) + # SET ( CMAKE_VERBOSE_MAKEFILE on ) +ENDIF ( Debug ) +############################################################################### +# BASIC DIRECTORIES FOR INCLUSION +############################################################################### +INCLUDE_DIRECTORIES ( ${WORKDIR}/base ) +INCLUDE_DIRECTORIES ( ${WORKDIR}/net ) +############################################################################### +# CLIENT STUFF +############################################################################### +IF ( NOT Server ) + INCLUDE_DIRECTORIES ( ${WORKDIR}/client ) + INCLUDE_DIRECTORIES ( ${WORKDIR}/screen ) + INCLUDE_DIRECTORIES ( ${WORKDIR}/widget ) + IF ( NO_Audio ) + LINK_LIBRARIES ( ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} SDLmain ) + ELSE ( NO_Audio ) + LINK_LIBRARIES ( ${SDL_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} SDLmain ) + ENDIF ( NO_Audio ) +ENDIF ( NOT Server ) +############################################################################### +# SERVER STUFF (Basicly overriding default client values) +############################################################################### +IF ( Server ) + ADD_DEFINITIONS ( -DPUBLIC_SERVER ) + ADD_DEFINITIONS ( -DNO_SOUND ) + INCLUDE_DIRECTORIES ( ${WORKDIR}/server ) + LINK_LIBRARIES ( ${CMAKE_DL_LIBS} ) +ENDIF ( Server ) +############################################################################### +# APPLE QUIRKS +############################################################################### +IF ( Apple ) + SET ( CMAKE_OSX_ARCHITECTURES "ppc;i386" ) + SET ( CACHE_INTERNAL "OSX Architectures" FORCE ) + ADD_DEFINITIONS ( -DAPPLE ) +ENDIF ( Apple ) +############################################################################### +# WINDOWS QUIRKS +############################################################################### +IF ( WIN ) + # icon into exe, this is ugly hack cause there is bug in CMAKE + SET ( CMAKE_RC_COMPILER "C:/MinGW/bin/windres.exe" ) + ENABLE_LANGUAGE ( RC ) + SET ( SRC_base ${WORKDIR}/tuxanci.rc ) + # directories and dlls for sdl (we bundle them, just don't want cmake + # to look for them) + IF ( NOT Server ) + SET ( SDL_LIBRARY "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL.dll" ) + SET ( SDLMIXER_LIBRARY "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL_mixer.dll" ) + SET ( SDLTTF_LIBRARY "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL_ttf.dll" ) + SET ( SDLIMAGE_LIBRARY "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/SDL_image.dll" ) + SET ( SDL_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/include/" ) + SET ( SDLMIXER_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/include/" ) + SET ( SDLIMAGE_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/include/" ) + SET ( SDLTTF_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/include/" ) + IF ( NO_Audio ) + LINK_LIBRARIES ( ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} wsock32 ) + ELSE ( NO_Audio ) + LINK_LIBRARIES ( ${SDL_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} wsock32 ) + ENDIF ( NO_Audio ) + ELSE ( NOT Server ) + LINK_LIBRARIES ( ${CMAKE_DL_LIBS} wsock32 ) + ENDIF ( NOT Server ) + # override basic directory placement + SET ( CMAKE_INSTALL_BINDIR ${APPNAME}/bin ) + SET ( CMAKE_INSTALL_LIBDIR ${APPNAME}/lib ) + SET ( CMAKE_INSTALL_DATADIR ${APPNAME}/share/ ) + SET ( CMAKE_INSTALL_ETCDIR ${APPNAME}/etc ) +ENDIF ( WIN ) +############################################################################### +# SDL SEARCH +############################################################################### +IF ( NOT Win ) + MESSAGE ( STATUS "<Checking for SDL>" ) + MESSAGE ( STATUS "<******************************>" ) + FIND_PACKAGE ( SDL REQUIRED ) + FIND_PACKAGE ( SDL_image REQUIRED ) + FIND_PACKAGE ( SDL_ttf REQUIRED ) + IF ( NOT NO_Audio ) + FIND_PACKAGE ( SDL_mixer REQUIRED ) + ENDIF ( NOT NO_Audio ) +ENDIF ( NOT Win ) +############################################################################### +# GETTEXT SUPPORT +############################################################################### +IF ( NLS ) + MESSAGE ( STATUS "<Compiling LANGUAGES>" ) + MESSAGE ( STATUS "<******************************>" ) + ADD_DEFINITIONS ( -DNLS ) + ADD_SUBDIRECTORY ( po ) +ENDIF ( NLS ) +############################################################################### +# COMPILATION ITSELF +############################################################################### +MESSAGE ( "Cflags:${CMAKE_C_FLAGS}" ) +MESSAGE ( "CXXflags:${CMAKE_CXX_FLAGS}" ) MESSAGE ( STATUS "<Compiling SRC>" ) MESSAGE ( STATUS "<******************************>" ) ADD_SUBDIRECTORY ( src ) +############################################################################### +# DATA INSTALLATION +############################################################################### +# path which user send us +#ADD_SUBDIRECTORY ( data ) +############################################################################### -#MESSAGE(STATUS "<Compiling Lang>") -#MESSAGE(STATUS "<******************************>") -#ADD_SUBDIRECTORY ( lang ) - -IF ( NOT Win ) - SET ( CMAKE_INSTALL_DATADIR share/ ) - SET ( CMAKE_INSTALL_ETCDIR /etc ) -ELSE ( NOT Win ) - SET ( CMAKE_INSTALL_DATADIR ${APPNAME}/share/ ) - SET ( CMAKE_INSTALL_ETCDIR ${APPNAME}/etc ) -ENDIF ( NOT Win ) IF ( Server ) INSTALL ( FILES ${CMAKE_SOURCE_DIR}/data/conf/server.conf DESTINATION ${CMAKE_INSTALL_ETCDIR}/${APPNAME} ) ELSE ( Server ) INSTALL ( FILES ${CMAKE_SOURCE_DIR}/data/tuxanci.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/doc/) -IF ( NOT Win ) - INSTALL ( FILES ${CMAKE_SOURCE_DIR}/data/tuxanci.ico DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/doc/) -ENDIF ( NOT Win ) - FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/font/*.ttf" ) - INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/font/ ) - FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/image/*.png" ) - INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/image/ ) - FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/lang/*.lang" ) - INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/lang/ ) - FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/music/*.ogg" ) - INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/music/ ) - FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/sound/*.ogg" ) - INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/sound/ ) + IF ( NOT Win ) + INSTALL ( FILES ${CMAKE_SOURCE_DIR}/data/tuxanci.ico DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/doc/) + ENDIF ( NOT Win ) + FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/font/*.ttf" ) + INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/font/ ) + FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/image/*.png" ) + INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/image/ ) + FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/lang/*.lang" ) + INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/lang/ ) + FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/music/*.ogg" ) + INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/music/ ) + FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/sound/*.ogg" ) + INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/sound/ ) ENDIF ( Server ) INSTALL ( FILES ${CMAKE_SOURCE_DIR}/LICENCE DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/doc/) INSTALL ( FILES ${CMAKE_SOURCE_DIR}/AUTHORS DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/doc/ ) @@ -121,20 +210,16 @@ INSTALL ( FILES ${CMAKE_SOURCE_DIR}/README DESTINATION ${CMAKE_INSTALL_DATADIR}/ FILE ( GLOB files "${CMAKE_SOURCE_DIR}/data/arena/*.map" ) INSTALL ( FILES ${files} DESTINATION ${CMAKE_INSTALL_DATADIR}/${APPNAME}/arena/ ) IF ( NOT Server ) -IF ( Win ) - FILE ( GLOB files "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/*.dll" ) - INSTALL ( FILES ${files} DESTINATION ${APPNAME}/bin/ ) - FILE ( GLOB files "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/*.lib" ) - INSTALL ( FILES ${files} DESTINATION ${APPNAME}/bin/ ) - FILE ( GLOB files "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/*.a" ) - INSTALL ( FILES ${files} DESTINATION ${APPNAME}/bin/ ) - FILE ( GLOB files "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/*.la" ) - INSTALL ( FILES ${files} DESTINATION ${APPNAME}/bin/ ) -ENDIF ( Win ) + IF ( Win ) + FILE ( GLOB files "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/*.dll" ) + INSTALL ( FILES ${files} DESTINATION ${APPNAME}/bin/ ) + FILE ( GLOB files "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/*.lib" ) + INSTALL ( FILES ${files} DESTINATION ${APPNAME}/bin/ ) + FILE ( GLOB files "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/*.a" ) + INSTALL ( FILES ${files} DESTINATION ${APPNAME}/bin/ ) + FILE ( GLOB files "${CMAKE_SOURCE_DIR}/packaging/windows/SDL/lib/*.la" ) + INSTALL ( FILES ${files} DESTINATION ${APPNAME}/bin/ ) + ENDIF ( Win ) ENDIF ( NOT Server ) -CONFIGURE_FILE( - "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" - IMMEDIATE @ONLY) -ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") + @@ -1 +1 @@ -#define TUXANCI_VERSION "svn197" +#define TUXANCI_VERSION "svn198" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fad14e6..a63a2cc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,103 +1,104 @@ -SET ( WORKDIR ${CMAKE_SOURCE_DIR}/src ) -# pro aktualizaci tehle seznamu pouzijte radsi skript nezli to delat rucne -# find ./ -maxdepth 1 -type f -name \*.c |grep "$" |sed -e 's/^\.\//\$\{WORKDIR\}\/DIR\//' -e 's/\.c//' |tr '\n' ' ' > DIRfiles -# nahradte DIR potrebnym adresarem a pak vemte vse co je v DIRfiles a vlozte to sem +############################################################################### +# tuxanci/src/CMakeLists.txt +############################################################################### +# 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}/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/udp_server ${WORKDIR}/base/tcp_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 + ${SRC_base} + ${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/udp_server ${WORKDIR}/base/tcp_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}/net/udp ${WORKDIR}/net/tcp ${WORKDIR}/net/dns + ${WORKDIR}/net/udp ${WORKDIR}/net/tcp + ${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/language ${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/saveLoad + ${WORKDIR}/client/layer ${WORKDIR}/client/term + ${WORKDIR}/client/screen ${WORKDIR}/client/interface + ${WORKDIR}/client/client ${WORKDIR}/client/chat + ${WORKDIR}/client/configFile ${WORKDIR}/client/language + ${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/saveLoad -${WORKDIR}/screen/screen_choiceArena ${WORKDIR}/screen/screen_settingKeys ${WORKDIR}/screen/screen_table ${WORKDIR}/screen/screen_setting ${WORKDIR}/screen/screen_credits ${WORKDIR}/screen/screen_world ${WORKDIR}/screen/screen_analyze ${WORKDIR}/screen/screen_mainMenu ${WORKDIR}/screen/screen_browser ${WORKDIR}/screen/screen_gameType + ${WORKDIR}/screen/screen_choiceArena + ${WORKDIR}/screen/screen_settingKeys ${WORKDIR}/screen/screen_table + ${WORKDIR}/screen/screen_setting ${WORKDIR}/screen/screen_credits + ${WORKDIR}/screen/screen_world ${WORKDIR}/screen/screen_analyze + ${WORKDIR}/screen/screen_mainMenu ${WORKDIR}/screen/screen_browser + ${WORKDIR}/screen/screen_gameType -${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_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 ) -SET ( SRC_audio ${WORKDIR}/audio/audio ${WORKDIR}/audio/music ${WORKDIR}/audio/sound) +SET ( SRC_audio + ${WORKDIR}/audio/audio ${WORKDIR}/audio/music + ${WORKDIR}/audio/sound +) SET ( SRC_server -${WORKDIR}/server/log ${WORKDIR}/server/serverConfigFile ${WORKDIR}/server/heightScore ${WORKDIR}/server/publicServer + ${WORKDIR}/server/log ${WORKDIR}/server/serverConfigFile + ${WORKDIR}/server/heightScore ${WORKDIR}/server/publicServer ) -ADD_DEFINITIONS ( -DSUPPORT_NET_UNIX_UDP ) -#ADD_DEFINITIONS ( -DZZEEXX86_READKEY ) -# server nebo klient -IF ( Server ) - ADD_DEFINITIONS ( -DPUBLIC_SERVER ) +############################################################################### +# AUDIO CHECK +############################################################################### +IF ( NO_Audio ) ADD_DEFINITIONS ( -DNO_SOUND ) -ENDIF ( Server ) -IF ( PREFIX ) - ADD_DEFINITIONS ( -DPREFIX="${PREFIX}" ) -ENDIF ( PREFIX ) -IF ( Win ) - SET ( SRC_base ${SRC_base} ${WORKDIR}/tuxanci.rc ) -ENDIF ( Win ) -#include zdrojaku -INCLUDE_DIRECTORIES ( ${WORKDIR}/base ) -INCLUDE_DIRECTORIES ( ${WORKDIR}/net ) -#vytvoreni knihoven -IF ( NOT Win ) -SET ( CMAKE_INSTALL_BINDIR bin ) -SET ( CMAKE_INSTALL_LIBDIR lib ) -ELSE ( NOT Win ) - -SET ( CMAKE_INSTALL_BINDIR ${APPNAME}/bin ) -SET ( CMAKE_INSTALL_LIBDIR ${APPNAME}/lib ) -ENDIF ( NOT Win ) -IF ( NOT Server ) # server nebo klient - IF ( NOT Win ) - MESSAGE ( STATUS "<Checking for SDL>" ) - MESSAGE ( STATUS "<******************************>" ) - FIND_PACKAGE ( SDL REQUIRED ) - FIND_PACKAGE ( SDL_image REQUIRED ) - FIND_PACKAGE ( SDL_ttf REQUIRED ) - LINK_LIBRARIES ( ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} SDLmain ) - ELSE ( NOT Win ) - LINK_LIBRARIES ( ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} wsock32 ) - ENDIF ( NOT Win ) - MESSAGE ( STATUS "<Building client as requested>" ) +ELSE ( NO_Audio ) + MESSAGE ( STATUS "<Building with audio as requested>" ) MESSAGE ( STATUS "<******************************>" ) - INCLUDE_DIRECTORIES ( ${WORKDIR}/client ) - INCLUDE_DIRECTORIES ( ${WORKDIR}/screen ) - INCLUDE_DIRECTORIES ( ${WORKDIR}/widget ) - INCLUDE_DIRECTORIES ( ${SDL_INCLUDE_DIR} ${SDLIMAGE_INCLUDE_DIR} ${SDLTTF_INCLUDE_DIR}) - SET ( SRC_compile ${SRC_base} ${SRC_client} ) - IF ( NOT NO_Audio ) - MESSAGE ( STATUS "<Building with audio as requested>" ) - MESSAGE ( STATUS "<******************************>" ) - SET ( SRC_compile ${SRC_base} ${SRC_client} ${SRC_audio} ) - INCLUDE_DIRECTORIES ( ${WORKDIR}/audio ) - IF ( NOT Win ) - FIND_PACKAGE ( SDL_mixer REQUIRED ) - ENDIF ( NOT Win ) - INCLUDE_DIRECTORIES ( ${SDLMIXER_INCLUDE_DIR} ) - IF ( NOT Win ) - LINK_LIBRARIES ( ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLTTF_LIBRARY} SDLmain ) - ELSE ( NOT Win ) - LINK_LIBRARIES ( ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLTTF_LIBRARY} wsock32 ) - ENDIF ( NOT Win ) - ELSE (NOT NO_Audio) - MESSAGE ( STATUS "<Building without audio as requested>" ) - ADD_DEFINITIONS ( -DNO_SOUND ) - MESSAGE ( STATUS "<******************************>" ) - ENDIF ( NOT NO_Audio ) - ADD_EXECUTABLE ( tuxanci ${SRC_compile} ) - SET (TUX_BIN "tuxanci") -ELSE ( NOT Server ) - # kontrola libdl - IF ( NOT Win ) - LINK_LIBRARIES ( ${CMAKE_DL_LIBS} ) - ELSE ( NOT Win ) - LINK_LIBRARIES ( ${CMAKE_DL_LIBS} wsock32 ) - ENDIF ( NOT Win ) + SET ( SRC_compile ${SRC_base} ${SRC_client} ${SRC_audio} ) + INCLUDE_DIRECTORIES ( ${WORKDIR}/audio ) + INCLUDE_DIRECTORIES ( ${SDLMIXER_INCLUDE_DIR} ) +ENDIF ( NO_Audio ) +############################################################################### +# MODULES +############################################################################### +ADD_SUBDIRECTORY ( modules ) +############################################################################### +# SERVER COMPILATION +############################################################################### +IF ( Server ) MESSAGE ( STATUS "<Building server as requested>" ) MESSAGE ( STATUS "<******************************>" ) - INCLUDE_DIRECTORIES ( ${WORKDIR}/server ) SET ( SRC_compile ${SRC_base} ${SRC_server} ) ADD_EXECUTABLE ( tuxanci-server ${SRC_compile} ) - SET (TUX_BIN "tuxanci-server") +ENDIF ( Server ) +############################################################################### +# CLIENT COMPILATION +############################################################################### +IF ( NOT Server ) + MESSAGE ( STATUS "<Building client as requested>" ) + MESSAGE ( STATUS "<******************************>" ) + ADD_EXECUTABLE ( tuxanci ${SRC_compile} ) + SET (TUX_BIN "tuxanci") ENDIF ( NOT Server ) -ADD_SUBDIRECTORY ( modules ) -INSTALL ( TARGETS ${TUX_BIN} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} ) +################################################################################ +# INSTALLATION OF BINARY +################################################################################ +INSTALL ( TARGETS ${APPNAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} ) +################################################################################ diff --git a/src/modules/CMakeLists.txt b/src/modules/CMakeLists.txt index b2aaf41..c80704d 100644 --- a/src/modules/CMakeLists.txt +++ b/src/modules/CMakeLists.txt @@ -1,8 +1,16 @@ +############################################################################### +# tuxanci/src/modules/CMakeLists.txt +############################################################################### +# LINKING ( special for modules ) +############################################################################### IF ( NOT Win ) LINK_LIBRARIES ( ${CMAKE_DL_LIBS} ) ELSE ( NOT Win ) LINK_LIBRARIES ( ${CMAKE_DL_LIBS} wsock32 ) ENDIF ( NOT Win ) +############################################################################### +# SOURCE SPECIFICATION +############################################################################### IF ( NOT Server ) SET ( SRC_base_modules ${WORKDIR}/client/interface.h ${WORKDIR}/client/image.h @@ -14,39 +22,56 @@ ELSE ( NOT Server ) ENDIF ( NOT Server ) SET ( SRC_base_modules ${SRC_base_modules} - ${WORKDIR}/base/main.h ${WORKDIR}/base/modules.h ${WORKDIR}/base/shot.h ${WORKDIR}/base/tux.h ${WORKDIR}/base/list ${WORKDIR}/base/gun.h ${WORKDIR}/base/space.h + ${WORKDIR}/base/main.h ${WORKDIR}/base/modules.h + ${WORKDIR}/base/shot.h ${WORKDIR}/base/tux.h + ${WORKDIR}/base/list ${WORKDIR}/base/gun.h + ${WORKDIR}/base/space.h ) SET ( SRC_modWall ${SRC_base_modules} - ${WORKDIR}/base/index ${WORKDIR}/base/space.c + ${WORKDIR}/base/index ${WORKDIR}/base/space.c modWall.c ) SET ( SRC_modPipe ${SRC_base_modules} - ${WORKDIR}/base/index ${WORKDIR}/base/space.c + ${WORKDIR}/base/index ${WORKDIR}/base/space.c modPipe.c ) SET ( SRC_modTeleport ${SRC_base_modules} - ${WORKDIR}/base/index ${WORKDIR}/base/space.c + ${WORKDIR}/base/index ${WORKDIR}/base/space.c modTeleport.c ) SET ( SRC_modMove ${SRC_base_modules} - ${WORKDIR}/base/index ${WORKDIR}/base/space.c + ${WORKDIR}/base/index ${WORKDIR}/base/space.c modMove.c ) SET ( SRC_modAI ${SRC_base_modules} modAI.c ) +############################################################################### +# COMPILATION ITSELF +############################################################################### ADD_LIBRARY ( modWall SHARED ${SRC_modWall} ) ADD_LIBRARY ( modPipe SHARED ${SRC_modPipe} ) ADD_LIBRARY ( modMove SHARED ${SRC_modMove} ) ADD_LIBRARY ( modTeleport SHARED ${SRC_modTeleport} ) ADD_LIBRARY ( modAI SHARED ${SRC_modAI} ) -INSTALL ( TARGETS modWall LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) -INSTALL ( TARGETS modPipe LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) -INSTALL ( TARGETS modMove LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) -INSTALL ( TARGETS modTeleport LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) -INSTALL ( TARGETS modAI LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) +INSTALL ( TARGETS modWall + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) +INSTALL ( TARGETS modPipe + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) +INSTALL ( TARGETS modMove + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) +INSTALL ( TARGETS modTeleport + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) +INSTALL ( TARGETS modAI + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${APPNAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) +############################################################################### |