diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..26f2341b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,156 @@ +################################################# +# +# (C) 2016 Alexander Golubev +# fatzer2 (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +cmake_minimum_required( VERSION 2.8 ) + + +##### general package setup ##################### + +project( tdegames ) +set( VERSION R14.1.0 ) + + +##### include essential cmake modules ########### + +include( FindPkgConfig ) +include( CheckIncludeFile ) +include( CheckLibraryExists ) +include( CheckSymbolExists ) +include( CheckCXXSourceCompiles ) + + +##### include our cmake modules ################# + +set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ) +include( TDEMacros ) + + +##### setup install paths ####################### + +include( TDESetupPaths ) +tde_setup_paths( ) + + +##### optional stuff ############################ + +option( WITH_ARTS "Enable aRts support" ON ) + + +##### options comments ########################## + +# WITH_ARTS affects kbounce +# if disabled the game will have no sound +# NOTE: ARTS is unconditionally required to build kolf and kasteroids + +##### user requested modules #################### + +option( BUILD_ALL "Build all" OFF ) + +option( BUILD_ATLANTIK "Build atlantik" ${BUILD_ALL} ) +option( BUILD_DOC "Build documentation" ${BUILD_ALL} ) +option( BUILD_KASTEROIDS "Build kasteroids" ${BUILD_ALL} ) +option( BUILD_KATOMIC "Build katomic" ${BUILD_ALL} ) +option( BUILD_KBACKGAMMON "Build kbackgammon" ${BUILD_ALL} ) +option( BUILD_KBATTLESHIP "Build kbattleship" ${BUILD_ALL} ) +option( BUILD_KBLACKBOX "Build kblackbox" ${BUILD_ALL} ) +option( BUILD_KBOUNCE "Build kbounce" ${BUILD_ALL} ) +option( BUILD_KENOLABA "Build kenolaba" ${BUILD_ALL} ) +option( BUILD_KFOULEGGS "Build kfouleggs" ${BUILD_ALL} ) +option( BUILD_KGOLDRUNNER "Build kgoldrunner" ${BUILD_ALL} ) +option( BUILD_KJUMPINGCUBE "Build kjumpingcube" ${BUILD_ALL} ) +option( BUILD_KLICKETY "Build klickety" ${BUILD_ALL} ) +option( BUILD_KLINES "Build klines" ${BUILD_ALL} ) +option( BUILD_KMAHJONGG "Build kmahjongg" ${BUILD_ALL} ) +option( BUILD_KMINES "Build kmines" ${BUILD_ALL} ) +option( BUILD_KNETWALK "Build knetwalk" ${BUILD_ALL} ) +option( BUILD_KOLF "Build kolf" ${BUILD_ALL} ) +option( BUILD_KONQUEST "Build konquest" ${BUILD_ALL} ) +option( BUILD_KPAT "Build kpat" ${BUILD_ALL} ) +option( BUILD_KPOKER "Build kpoker" ${BUILD_ALL} ) +option( BUILD_KREVERSI "Build kreversi" ${BUILD_ALL} ) +option( BUILD_KSAME "Build ksame" ${BUILD_ALL} ) +option( BUILD_KSHISEN "Build kshisen" ${BUILD_ALL} ) +option( BUILD_KSIRTET "Build ksirtet" ${BUILD_ALL} ) +option( BUILD_KSMILETRIS "Build ksmiletris" ${BUILD_ALL} ) +option( BUILD_KSNAKE "Build ksnake" ${BUILD_ALL} ) +option( BUILD_KSOKOBAN "Build ksokoban" ${BUILD_ALL} ) +option( BUILD_KSPACEDUEL "Build kspaceduel" ${BUILD_ALL} ) +option( BUILD_KTRON "Build ktron" ${BUILD_ALL} ) +option( BUILD_KTUBERLING "Build ktuberling" ${BUILD_ALL} ) +option( BUILD_LIBTDEGAMES "Build libtdegames" ${BUILD_ALL} ) +option( BUILD_LSKAT "Build lskat" ${BUILD_ALL} ) +option( BUILD_TWIN4 "Build twin4" ${BUILD_ALL} ) + + +##### configure checks ########################## + +include( ConfigureChecks.cmake ) + + +###### global compiler settings ################# + +add_definitions( + -DHAVE_CONFIG_H +) + +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" ) +set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" ) +set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" ) + +if( WITH_TEST ) + enable_testing() +endif( WITH_TEST ) + +##### tdeaddons directories ##################### + +tde_conditional_add_subdirectory( BUILD_ATLANTIK atlantik ) +tde_conditional_add_subdirectory( BUILD_DOC doc ) +tde_conditional_add_subdirectory( BUILD_KASTEROIDS kasteroids ) +tde_conditional_add_subdirectory( BUILD_KATOMIC katomic ) +tde_conditional_add_subdirectory( BUILD_KBACKGAMMON kbackgammon ) +tde_conditional_add_subdirectory( BUILD_KBATTLESHIP kbattleship ) +tde_conditional_add_subdirectory( BUILD_KBLACKBOX kblackbox ) +tde_conditional_add_subdirectory( BUILD_KBOUNCE kbounce ) +tde_conditional_add_subdirectory( BUILD_KENOLABA kenolaba ) +tde_conditional_add_subdirectory( BUILD_KFOULEGGS kfouleggs ) +tde_conditional_add_subdirectory( BUILD_KGOLDRUNNER kgoldrunner ) +tde_conditional_add_subdirectory( BUILD_KJUMPINGCUBE kjumpingcube ) +tde_conditional_add_subdirectory( BUILD_KLICKETY klickety ) +tde_conditional_add_subdirectory( BUILD_KLINES klines ) +tde_conditional_add_subdirectory( BUILD_KMAHJONGG kmahjongg ) +tde_conditional_add_subdirectory( BUILD_KMINES kmines ) +tde_conditional_add_subdirectory( BUILD_KNETWALK knetwalk ) +tde_conditional_add_subdirectory( BUILD_KOLF kolf ) +tde_conditional_add_subdirectory( BUILD_KONQUEST konquest ) +tde_conditional_add_subdirectory( BUILD_KPAT kpat ) +tde_conditional_add_subdirectory( BUILD_KPOKER kpoker ) +tde_conditional_add_subdirectory( BUILD_KREVERSI kreversi ) +tde_conditional_add_subdirectory( BUILD_KSAME ksame ) +tde_conditional_add_subdirectory( BUILD_KSHISEN kshisen ) +tde_conditional_add_subdirectory( BUILD_KSIRTET ksirtet ) +tde_conditional_add_subdirectory( BUILD_KSMILETRIS ksmiletris ) +tde_conditional_add_subdirectory( BUILD_KSNAKE ksnake ) +tde_conditional_add_subdirectory( BUILD_KSOKOBAN ksokoban ) +tde_conditional_add_subdirectory( BUILD_KSPACEDUEL kspaceduel ) +tde_conditional_add_subdirectory( BUILD_KTRON ktron ) +tde_conditional_add_subdirectory( BUILD_KTUBERLING ktuberling ) +tde_conditional_add_subdirectory( BUILD_LIBTDEGAMES libtdegames ) +tde_conditional_add_subdirectory( BUILD_LSKAT lskat ) +tde_conditional_add_subdirectory( BUILD_TWIN4 twin4 ) + +if( BUILD_KSIRTET OR BUILD_KFOULEGGS OR BUILD_KLICKETY ) + add_subdirectory( libksirtet ) +endif( ) + + +##### write configure files ##################### + +configure_file( config.h.cmake config.h @ONLY ) |