summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt281
-rw-r--r--config.h2
-rw-r--r--src/CMakeLists.txt169
-rw-r--r--src/modules/CMakeLists.txt45
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")
+
diff --git a/config.h b/config.h
index 4fa41d4..a3bf134 100644
--- a/config.h
+++ b/config.h
@@ -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} )
+###############################################################################