blob: fd0c19c55bf780d038bb1f0c5020916c5dea1e5b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
#################################################
#
# (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.0.10 )
##### 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_ALL_OPTIONS "Enable all optional support" OFF )
option( WITH_ARTS "Enable aRts support" ${WITH_ALL_OPTIONS} )
##### 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 "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
if( WITH_TEST )
enable_testing()
endif( WITH_TEST )
##### add apidox targets ############
add_custom_target(apidox
COMMAND "./generate_apidox" "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${HTML_INSTALL_DIR}" "/usr/share/tqt3/doc/html"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/cmake/")
add_custom_target(install-apidox
COMMAND "./install_apidox" "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${HTML_INSTALL_DIR}" "${CMAKE_INSTALL_PREFIX}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/cmake/")
##### tdegames 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 )
|