summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt156
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 )