2 |
2 |
3 |
3 |
4 #initialise cmake environment |
4 #initialise cmake environment |
5 cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) |
5 cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) |
6 FOREACH(policy CMP0003 CMP0012) |
6 FOREACH(policy CMP0003 CMP0012) |
7 IF(POLICY ${policy}) |
7 IF(POLICY ${policy}) |
8 CMAKE_POLICY(SET ${policy} NEW) |
8 CMAKE_POLICY(SET ${policy} NEW) |
9 ENDIF() |
9 ENDIF() |
10 ENDFOREACH() |
10 ENDFOREACH() |
11 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules) |
11 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules) |
12 |
12 |
13 |
13 |
14 #detect Mercurial revision (if present) |
14 #detect Mercurial revision (if present) |
15 set(version_suffix "-dev") #UNSET THIS VARIABLE AT RELEASE TIME |
15 set(version_suffix "-dev") #UNSET THIS VARIABLE AT RELEASE TIME |
16 set(HGCHANGED "") |
16 set(HGCHANGED "") |
17 IF(version_suffix MATCHES "-dev") |
17 IF(version_suffix MATCHES "-dev") |
18 set(HW_DEV true) |
18 set(HW_DEV true) |
19 IF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.hg) |
19 IF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.hg) |
20 FIND_PROGRAM(HGCOMMAND hg) |
20 FIND_PROGRAM(HGCOMMAND hg) |
21 IF(HGCOMMAND) |
21 IF(HGCOMMAND) |
22 exec_program(${HGCOMMAND} |
22 exec_program(${HGCOMMAND} |
23 ARGS identify -in ${CMAKE_CURRENT_SOURCE_DIR} |
23 ARGS identify -in ${CMAKE_CURRENT_SOURCE_DIR} |
24 OUTPUT_VARIABLE version_suffix |
24 OUTPUT_VARIABLE version_suffix |
25 ) |
25 ) |
26 STRING(REGEX REPLACE "[^+]" "" HGCHANGED ${version_suffix}) |
26 STRING(REGEX REPLACE "[^+]" "" HGCHANGED ${version_suffix}) |
27 STRING(REGEX REPLACE "([0-9a-zA-Z]+)(.*) ([0-9]+)(.*)" "\\3-\\1" version_suffix ${version_suffix}) |
27 STRING(REGEX REPLACE "([0-9a-zA-Z]+)(.*) ([0-9]+)(.*)" "\\3-\\1" version_suffix ${version_suffix}) |
28 IF (HGCHANGED) |
28 IF (HGCHANGED) |
29 MESSAGE(STATUS "Building revision ${version_suffix} (SOURCE CODE MODIFIED)") |
29 MESSAGE(STATUS "Building revision ${version_suffix} (SOURCE CODE MODIFIED)") |
30 ELSE() |
30 ELSE() |
31 MESSAGE(STATUS "Building revision ${version_suffix}") |
31 MESSAGE(STATUS "Building revision ${version_suffix}") |
32 ENDIF() |
32 ENDIF() |
33 set(version_suffix "-${version_suffix}") |
33 set(version_suffix "-${version_suffix}") |
34 ENDIF() |
34 ENDIF() |
35 ENDIF() |
35 ENDIF() |
36 ELSE() |
36 ELSE() |
37 set(HW_DEV false) |
37 set(HW_DEV false) |
38 ENDIF() |
38 ENDIF() |
39 |
39 |
40 |
40 |
41 #versioning |
41 #versioning |
42 set(CPACK_PACKAGE_VERSION_MAJOR 0) |
42 set(CPACK_PACKAGE_VERSION_MAJOR 0) |
45 set(HEDGEWARS_PROTO_VER 42) |
45 set(HEDGEWARS_PROTO_VER 42) |
46 set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") |
46 set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") |
47 |
47 |
48 |
48 |
49 #set some safe values |
49 #set some safe values |
50 IF(NOT WITH_SERVER) |
|
51 SET(WITH_SERVER 0) |
|
52 ENDIF(NOT WITH_SERVER) |
|
53 IF(NOT BUILD_ENGINE_LIBRARY) |
50 IF(NOT BUILD_ENGINE_LIBRARY) |
54 SET(BUILD_ENGINE_LIBRARY 0) |
51 SET(BUILD_ENGINE_LIBRARY 0) |
55 ENDIF(NOT BUILD_ENGINE_LIBRARY) |
52 ENDIF(NOT BUILD_ENGINE_LIBRARY) |
56 set(target_dir "bin") |
53 set(target_dir "bin") |
57 |
54 |
58 |
|
59 #bundle .app setup |
55 #bundle .app setup |
|
56 if(APPLE OR CROSSAPPLE) |
|
57 #paths for creating the bundle |
|
58 set(bundle_name Hedgewars.app) |
|
59 set(frameworks_dir ${bundle_name}/Contents/Frameworks/) |
|
60 set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) |
|
61 set(DATA_INSTALL_DIR "../Resources/") |
|
62 set(target_dir ".") |
|
63 set(minimum_macosx_version "10.6") |
|
64 endif() |
|
65 |
60 if(APPLE) |
66 if(APPLE) |
61 set(CMAKE_FIND_FRAMEWORK "FIRST") |
67 set(CMAKE_FIND_FRAMEWORK "FIRST") |
62 |
68 |
63 #paths for creating the bundle |
69 #what system are we building for |
64 set(bundle_name Hedgewars.app) |
70 set(minimum_macosx_version $ENV{MACOSX_DEPLOYMENT_TARGET}) |
65 set(frameworks_dir ${bundle_name}/Contents/Frameworks/) |
71 |
66 set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) |
72 #detect on which system we are: if sw_vers cannot be found for any reason (re)use minimum_macosx_version |
67 set(DATA_INSTALL_DIR "../Resources/") |
73 find_program(sw_vers sw_vers) |
68 set(target_dir ".") |
74 if(sw_vers) |
69 |
75 exec_program(${sw_vers} ARGS "-productVersion" OUTPUT_VARIABLE current_macosx_version) |
70 #what system are we building for |
76 string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" current_macosx_version ${current_macosx_version}) |
71 set(minimum_macosx_version $ENV{MACOSX_DEPLOYMENT_TARGET}) |
|
72 |
|
73 #detect on which system we are: if sw_vers cannot be found for any reason (re)use minimum_macosx_version |
|
74 find_program(sw_vers sw_vers) |
|
75 if(sw_vers) |
|
76 exec_program(${sw_vers} ARGS "-productVersion" OUTPUT_VARIABLE current_macosx_version) |
|
77 string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" current_macosx_version ${current_macosx_version}) |
|
78 else() |
77 else() |
79 if(NOT minimum_macosx_version) |
78 if(NOT minimum_macosx_version) |
80 message(FATAL_ERROR "sw_vers not found! Need explicit MACOSX_DEPLOYMENT_TARGET variable set") |
79 message(FATAL_ERROR "sw_vers not found! Need explicit MACOSX_DEPLOYMENT_TARGET variable set") |
81 else() |
80 else() |
82 set(current_macosx_version ${minimum_macosx_version}) |
81 set(current_macosx_version ${minimum_macosx_version}) |
83 endif() |
82 endif() |
84 endif() |
83 endif() |
85 |
84 |
86 #if nothing is set, we deploy only for the current system |
85 #if nothing is set, we deploy only for the current system |
87 if(NOT minimum_macosx_version) |
86 if(NOT minimum_macosx_version) |
88 set(minimum_macosx_version ${current_macosx_version}) |
87 set(minimum_macosx_version ${current_macosx_version}) |
89 endif() |
88 endif() |
90 |
89 |
91 #lower systems don't have enough processing power anyways |
90 #lower systems don't have enough processing power anyways |
92 if (minimum_macosx_version LESS "10.4") |
91 if (minimum_macosx_version LESS "10.4") |
93 message(FATAL_ERROR "Hedgewars is not supported on Mac OS X pre-10.4") |
92 message(FATAL_ERROR "Hedgewars is not supported on Mac OS X pre-10.4") |
94 endif() |
93 endif() |
95 |
94 |
96 #workaround for http://playcontrol.net/ewing/jibberjabber/big_behind-the-scenes_chang.html#SDL_mixer (Update 2) |
95 #workaround for http://playcontrol.net/ewing/jibberjabber/big_behind-the-scenes_chang.html#SDL_mixer (Update 2) |
97 if(current_macosx_version MATCHES "10.4") |
96 if(current_macosx_version MATCHES "10.4") |
98 find_package(SDL_mixer REQUIRED) |
97 find_package(SDL_mixer REQUIRED) |
99 set(DYLIB_SMPEG "-dylib_file @loader_path/Frameworks/smpeg.framework/Versions/A/smpeg:${SDLMIXER_LIBRARY}/Versions/A/Frameworks/smpeg.framework/Versions/A/smpeg") |
98 set(DYLIB_SMPEG "-dylib_file @loader_path/Frameworks/smpeg.framework/Versions/A/smpeg:${SDLMIXER_LIBRARY}/Versions/A/Frameworks/smpeg.framework/Versions/A/smpeg") |
100 set(DYLIB_MIKMOD "-dylib_file @loader_path/Frameworks/mikmod.framework/Versions/A/mikmod:${SDLMIXER_LIBRARY}/Versions/A/Frameworks/mikmod.framework/Versions/A/mikmod") |
99 set(DYLIB_MIKMOD "-dylib_file @loader_path/Frameworks/mikmod.framework/Versions/A/mikmod:${SDLMIXER_LIBRARY}/Versions/A/Frameworks/mikmod.framework/Versions/A/mikmod") |
101 set(pascal_flags "-k${DYLIB_SMPEG}" "-k${DYLIB_MIKMOD}" ${pascal_flags}) |
100 set(pascal_flags "-k${DYLIB_SMPEG}" "-k${DYLIB_MIKMOD}" ${pascal_flags}) |
102 set(CMAKE_C_FLAGS "${DYLIB_SMPEG}" "${DYLIB_MIKMOD}" ${CMAKE_C_FLAGS}) |
101 set(CMAKE_C_FLAGS "${DYLIB_SMPEG}" "${DYLIB_MIKMOD}" ${CMAKE_C_FLAGS}) |
103 endif() |
102 endif() |
104 |
103 |
105 #CMAKE_OSX_ARCHITECTURES and CMAKE_OSX_SYSROOT need to be set for universal binary and correct linking |
104 #CMAKE_OSX_ARCHITECTURES and CMAKE_OSX_SYSROOT need to be set for universal binary and correct linking |
106 if(NOT CMAKE_OSX_ARCHITECTURES) |
105 if(NOT CMAKE_OSX_ARCHITECTURES) |
107 if(current_macosx_version LESS "10.6") |
106 if(current_macosx_version LESS "10.6") |
108 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc*") |
107 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc*") |
109 set(CMAKE_OSX_ARCHITECTURES "ppc7400") |
108 set(CMAKE_OSX_ARCHITECTURES "ppc7400") |
110 else() |
109 else() |
111 set(CMAKE_OSX_ARCHITECTURES "i386") |
110 set(CMAKE_OSX_ARCHITECTURES "i386") |
112 endif() |
111 endif() |
113 else() |
112 else() |
114 set(CMAKE_OSX_ARCHITECTURES "x86_64") |
113 set(CMAKE_OSX_ARCHITECTURES "x86_64") |
115 endif() |
114 endif() |
116 endif() |
115 endif() |
117 |
116 |
118 #CMAKE_OSX_SYSROOT is set at the system version we are supposed to build on |
117 #CMAKE_OSX_SYSROOT is set at the system version we are supposed to build on |
119 #we need to provide the correct one when host and target differ |
118 #we need to provide the correct one when host and target differ |
120 if(NOT ${minimum_macosx_version} MATCHES ${current_macosx_version}) |
119 if(NOT ${minimum_macosx_version} MATCHES ${current_macosx_version}) |
121 if(minimum_macosx_version MATCHES "10.4") |
120 if(minimum_macosx_version MATCHES "10.4") |
122 set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/") |
121 set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/") |
123 set(CMAKE_C_COMPILER "gcc-4.0") |
122 set(CMAKE_C_COMPILER "gcc-4.0") |
124 set(CMAKE_CXX_COMPILER "g++-4.0") |
123 set(CMAKE_CXX_COMPILER "g++-4.0") |
125 else() |
124 else() |
126 string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" sdk_version ${minimum_macosx_version}) |
125 string(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" sdk_version ${minimum_macosx_version}) |
127 set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX${sdk_version}.sdk/") |
126 set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX${sdk_version}.sdk/") |
128 endif() |
127 endif() |
129 endif() |
128 endif() |
130 |
129 |
131 #add user framework directory, other paths can be passed via FPFLAGS |
130 #add user framework directory, other paths can be passed via FPFLAGS |
132 set(pascal_flags "-Ff~/Library/Frameworks" ${pascal_flags}) |
131 set(pascal_flags "-Ff~/Library/Frameworks" ${pascal_flags}) |
133 #set deployment target |
132 #set deployment target |
134 set(pascal_flags "-k-macosx_version_min" "-k${minimum_macosx_version}" "-XR${CMAKE_OSX_SYSROOT}" ${pascal_flags}) |
133 set(pascal_flags "-k-macosx_version_min" "-k${minimum_macosx_version}" "-XR${CMAKE_OSX_SYSROOT}" ${pascal_flags}) |
135 |
134 |
136 message(STATUS "Build system: Mac OS X ${current_macosx_version} with GCC:${CMAKE_C_COMPILER}") |
135 message(STATUS "Build system: Mac OS X ${current_macosx_version} with GCC:${CMAKE_C_COMPILER}") |
137 message(STATUS "Target system: Mac OS X ${minimum_macosx_version} for architecture(s):${CMAKE_OSX_ARCHITECTURES}") |
136 message(STATUS "Target system: Mac OS X ${minimum_macosx_version} for architecture(s):${CMAKE_OSX_ARCHITECTURES}") |
138 endif(APPLE) |
137 endif(APPLE) |
139 |
138 |
140 |
139 |
141 #build Debug only when explicitally set |
140 #build Debug only when explicitally set |
142 if (NOT CMAKE_BUILD_TYPE) |
141 if (NOT CMAKE_BUILD_TYPE) |
143 set (CMAKE_BUILD_TYPE RELEASE CACHE STRING "Choose the type of build, options are: Debug Release." FORCE) |
142 set (CMAKE_BUILD_TYPE RELEASE CACHE STRING "Choose the type of build, options are: Debug Release." FORCE) |
144 endif (NOT CMAKE_BUILD_TYPE) |
143 endif (NOT CMAKE_BUILD_TYPE) |
145 |
144 |
146 if(CMAKE_BUILD_TYPE MATCHES DEBUG OR CMAKE_BUILD_TYPE MATCHES "Debug" OR CMAKE_BUILD_TYPE MATCHES "debug") |
145 if(CMAKE_BUILD_TYPE MATCHES DEBUG OR CMAKE_BUILD_TYPE MATCHES "Debug" OR CMAKE_BUILD_TYPE MATCHES "debug") |
147 message(STATUS "Building Debug") |
146 message(STATUS "Building Debug") |
148 set(Optz false) |
147 set(Optz false) |
149 else() |
148 else() |
150 message(STATUS "Building Release") |
149 message(STATUS "Building Release") |
151 set(Optz true) |
150 set(Optz true) |
152 endif() |
151 endif() |
153 |
152 |
154 |
153 |
155 #set default flags values for all projects |
154 #set default flags values for all projects |
156 set(CMAKE_C_FLAGS "-pipe ${CMAKE_C_FLAGS}") |
155 set(CMAKE_C_FLAGS "-pipe ${CMAKE_C_FLAGS}") |
159 set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS}) |
158 set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS}) |
160 set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) |
159 set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) |
161 set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) |
160 set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) |
162 |
161 |
163 separate_arguments(fpflags_full UNIX_COMMAND ${FPFLAGS}) |
162 separate_arguments(fpflags_full UNIX_COMMAND ${FPFLAGS}) |
164 set(pascal_flags ${fpflags_full} "-B" "-FE../bin" "-Cs2000000" "-vewn" ${pascal_flags}) |
163 set(pascal_flags ${fpflags_full} "-B" "-FE../bin" "-Cs2000000" "-vewn" "-dDEBUGFILE" ${pascal_flags}) |
165 separate_arguments(ghflags_full UNIX_COMMAND ${GHFLAGS}) |
164 separate_arguments(ghflags_full UNIX_COMMAND ${GHFLAGS}) |
166 set(haskell_flags "-O2" ${haskell_flags} ${ghflags_full}) |
165 set(haskell_flags "-O2" ${haskell_flags} ${ghflags_full}) |
167 |
166 |
168 if(Optz) |
167 if(Optz) |
169 # set(pascal_flags "-O3" "-OpPENTIUM4" "-CfSSE3" "-Xs" "-Si" ${pascal_flags}) |
168 # set(pascal_flags "-O3" "-OpPENTIUM4" "-CfSSE3" "-Xs" "-Si" ${pascal_flags}) |
170 set(pascal_flags "-Os" "-Ooregvar" "-Xs" "-Si" ${pascal_flags}) |
169 set(pascal_flags "-Os" "-Ooregvar" "-Xs" "-Si" ${pascal_flags}) |
171 set(haskell_flags "-w" "-fno-warn-unused-do-bind" ${haskell_flags}) |
170 set(haskell_flags "-w" "-fno-warn-unused-do-bind" ${haskell_flags}) |
172 else(Optz) |
171 else(Optz) |
173 set(pascal_flags "-O-" "-g" "-gl" "-gv" "-Ct" "-dDEBUGFILE" ${pascal_flags}) |
172 set(pascal_flags "-O-" "-g" "-gl" "-gv" "-Ct" ${pascal_flags}) |
174 set(haskell_flags "-Wall" "-debug" "-dcore-lint" "-fno-warn-unused-do-bind" ${haskell_flags}) |
173 set(haskell_flags "-Wall" "-debug" "-dcore-lint" "-fno-warn-unused-do-bind" ${haskell_flags}) |
175 endif(Optz) |
174 endif(Optz) |
176 |
175 |
177 |
176 |
178 if(DEFINED DATA_INSTALL_DIR) |
177 if(DEFINED DATA_INSTALL_DIR) |
179 set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/) |
178 set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/) |
180 else() |
179 else() |
181 set(SHAREPATH share/hedgewars/) |
180 set(SHAREPATH share/hedgewars/) |
182 endif() |
181 endif() |
183 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) |
182 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) |
184 |
183 |
185 |
184 |
186 if(WITH_SERVER) |
185 if(NOT NOSERVER) |
187 if(GHC) |
186 if(GHC) |
188 set(ghc_executable ${GHC}) |
187 set(ghc_executable ${GHC}) |
189 else() |
188 else() |
190 find_program(ghc_executable ghc) |
189 find_program(ghc_executable ghc) |
191 endif() |
190 endif() |
192 |
191 |
193 if(ghc_executable) |
192 if(ghc_executable) |
194 set(HAVE_NETSERVER true) |
193 set(HAVE_NETSERVER true) |
195 add_subdirectory(gameServer) |
194 add_subdirectory(gameServer) |
196 else() |
195 else() |
197 message(STATUS "No GHC executable found, server will *not* be built") |
196 message(STATUS "No GHC executable found, server will not be built") |
198 set(HAVE_NETSERVER false) |
197 set(HAVE_NETSERVER false) |
199 endif() |
198 endif() |
200 else(WITH_SERVER) |
199 else() |
201 set(HAVE_NETSERVER false) |
200 message(STATUS "Server will not be built per user request") |
202 endif(WITH_SERVER) |
201 set(HAVE_NETSERVER false) |
|
202 endif() |
203 |
203 |
204 find_package(Lua) |
204 find_package(Lua) |
205 if(NOT ${LUA_FOUND}) |
205 if(LUA_FOUND) |
206 message(STATUS "Lua library not found, building bundled dependency") |
206 message(STATUS "Lua library is present on your system (${LUA_DEFAULT})") |
207 add_subdirectory(misc/liblua) |
207 else() |
208 #link with liblua.a (which requires system readline) |
208 message(STATUS "Lua library not found, building bundled dependency") |
209 set(pascal_flags "-k${CMAKE_BINARY_DIR}/bin/liblua.a" "-k-lreadline" ${pascal_flags}) |
209 add_subdirectory(misc/liblua) |
210 endif() |
210 #linking with liblua.a requires system readline -- this works everywhere, right? |
|
211 if(WIN32) |
|
212 set(pascal_flags "-k${CMAKE_BINARY_DIR}/bin/liblua.dll.a" "-k-lreadline" ${pascal_flags}) |
|
213 else() |
|
214 set(pascal_flags "-k${CMAKE_BINARY_DIR}/bin/liblua.a" "-k-lreadline" ${pascal_flags}) |
|
215 endif() |
|
216 endif() |
|
217 |
211 add_subdirectory(hedgewars) |
218 add_subdirectory(hedgewars) |
|
219 |
212 |
220 |
213 #run cmake -DANDROID=1 to enable this |
221 #run cmake -DANDROID=1 to enable this |
214 if(ANDROID) |
222 if(ANDROID) |
215 add_subdirectory(project_files/Android-build) |
223 add_subdirectory(project_files/Android-build) |
216 endif() |
224 endif() |
|
225 |
217 |
226 |
218 if(NOT (BUILD_ENGINE_LIBRARY OR ANDROID)) |
227 if(NOT (BUILD_ENGINE_LIBRARY OR ANDROID)) |
219 add_subdirectory(bin) |
228 add_subdirectory(bin) |
220 add_subdirectory(misc/quazip) |
229 add_subdirectory(misc/quazip) |
221 add_subdirectory(QTfrontend) |
230 add_subdirectory(QTfrontend) |
222 add_subdirectory(share) |
231 add_subdirectory(share) |
223 add_subdirectory(tools) |
232 add_subdirectory(tools) |
224 endif() |
233 endif() |
225 |
234 |
226 |
235 |
227 # CPack variables |
236 # CPack variables |
228 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Hedgewars, a free turn-based strategy") |
237 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Hedgewars, a free turn-based strategy") |
233 set(CPACK_PACKAGE_EXECUTABLES "hedgewars" "hedgewars") |
242 set(CPACK_PACKAGE_EXECUTABLES "hedgewars" "hedgewars") |
234 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") |
243 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") |
235 set(CPACK_PACKAGE_INSTALL_DIRECTORY "Hedgewars ${HEDGEWARS_VERSION}") |
244 set(CPACK_PACKAGE_INSTALL_DIRECTORY "Hedgewars ${HEDGEWARS_VERSION}") |
236 |
245 |
237 if(WIN32 AND NOT UNIX) |
246 if(WIN32 AND NOT UNIX) |
238 set(CPACK_NSIS_DISPLAY_NAME "Hedgewars") |
247 set(CPACK_NSIS_DISPLAY_NAME "Hedgewars") |
239 set(CPACK_NSIS_HELP_LINK "http://www.hedgewars.org/") |
248 set(CPACK_NSIS_HELP_LINK "http://www.hedgewars.org/") |
240 set(CPACK_NSIS_URL_INFO_ABOUT "http://www.hedgewars.org/") |
249 set(CPACK_NSIS_URL_INFO_ABOUT "http://www.hedgewars.org/") |
241 set(CPACK_NSIS_CONTACT "unC0Rr@gmail.com") |
250 set(CPACK_NSIS_CONTACT "unC0Rr@gmail.com") |
242 set(CPACK_NSIS_MODIFY_PATH OFF) |
251 set(CPACK_NSIS_MODIFY_PATH OFF) |
243 set(CPACK_GENERATOR "ZIP;NSIS") |
252 set(CPACK_GENERATOR "ZIP;NSIS") |
244 set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "hedgewars") |
253 set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "hedgewars") |
245 else(WIN32 AND NOT UNIX) |
254 else(WIN32 AND NOT UNIX) |
246 set(CPACK_STRIP_FILES "bin/hedgewars;bin/hwengine") |
255 set(CPACK_STRIP_FILES "bin/hedgewars;bin/hwengine") |
247 endif(WIN32 AND NOT UNIX) |
256 endif(WIN32 AND NOT UNIX) |
248 |
257 |
249 set(CPACK_SOURCE_IGNORE_FILES |
258 set(CPACK_SOURCE_IGNORE_FILES |
250 "~" |
259 "~" |
251 "\\\\.hg" |
260 "\\\\.hg" |
252 "\\\\.svn" |
261 "\\\\.svn" |
253 "\\\\.exe$" |
262 "\\\\.exe$" |
254 "\\\\.a$" |
263 "\\\\.a$" |
255 "\\\\.dll$" |
264 "\\\\.dll$" |
256 "\\\\.xcf$" |
265 "\\\\.xcf$" |
257 "\\\\.cxx$" |
266 "\\\\.cxx$" |
258 "\\\\.db$" |
267 "\\\\.db$" |
259 "\\\\.dof$" |
268 "\\\\.dof$" |
260 "\\\\.layout$" |
269 "\\\\.layout$" |
261 "\\\\.zip$" |
270 "\\\\.zip$" |
262 "\\\\.gz$" |
271 "\\\\.gz$" |
263 "\\\\.bz2$" |
272 "\\\\.bz2$" |
264 "\\\\.tmp$" |
273 "\\\\.tmp$" |
265 "\\\\.core$" |
274 "\\\\.core$" |
266 "\\\\.sh$" |
275 "\\\\.sh$" |
267 "\\\\.sifz$" |
276 "\\\\.sifz$" |
268 "\\\\.svg$" |
277 "\\\\.svg$" |
269 "\\\\.svgz$" |
278 "\\\\.svgz$" |
270 "\\\\.ppu$" |
279 "\\\\.ppu$" |
271 "\\\\.psd$" |
280 "\\\\.psd$" |
272 "\\\\.o$" |
281 "\\\\.o$" |
273 "Makefile" |
282 "Makefile" |
274 "Doxyfile" |
283 "Doxyfile" |
275 "CMakeFiles" |
284 "CMakeFiles" |
276 "debug" |
285 "debug" |
277 "release$" |
286 "release$" |
278 "Debug$" |
287 "Debug$" |
279 "Release$" |
288 "Release$" |
280 "proto\\\\.inc$" |
289 "proto\\\\.inc$" |
281 "hwconsts\\\\.cpp$" |
290 "hwconsts\\\\.cpp$" |
282 "playlist\\\\.inc$" |
291 "playlist\\\\.inc$" |
283 "CPack" |
292 "CPack" |
284 "cmake_install\\\\.cmake$" |
293 "cmake_install\\\\.cmake$" |
285 "config\\\\.inc$" |
294 "config\\\\.inc$" |
286 "hwengine\\\\.desktop$" |
295 "hwengine\\\\.desktop$" |
287 "CMakeCache\\\\.txt$" |
296 "CMakeCache\\\\.txt$" |
288 # "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge" |
297 # "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge" |
289 # "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libfreetype" |
298 # "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libfreetype" |
290 "^${CMAKE_CURRENT_SOURCE_DIR}/misc/liblua" |
299 "^${CMAKE_CURRENT_SOURCE_DIR}/misc/liblua" |
291 # "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libtremor" |
300 # "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libtremor" |
292 "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/HedgewarsMobile/" |
301 "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/HedgewarsMobile/" |
293 "^${CMAKE_CURRENT_SOURCE_DIR}/bin/[a-z]" |
302 "^${CMAKE_CURRENT_SOURCE_DIR}/bin/[a-z]" |
294 "^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates" |
303 "^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates" |
295 "^${CMAKE_CURRENT_SOURCE_DIR}/doc" |
304 "^${CMAKE_CURRENT_SOURCE_DIR}/doc" |
296 "^${CMAKE_CURRENT_SOURCE_DIR}/templates" |
305 "^${CMAKE_CURRENT_SOURCE_DIR}/templates" |
297 "^${CMAKE_CURRENT_SOURCE_DIR}/Graphics" |
306 "^${CMAKE_CURRENT_SOURCE_DIR}/Graphics" |
298 "^${CMAKE_CURRENT_SOURCE_DIR}/realtest" |
307 "^${CMAKE_CURRENT_SOURCE_DIR}/realtest" |
299 "^${CMAKE_CURRENT_SOURCE_DIR}/tmp" |
308 "^${CMAKE_CURRENT_SOURCE_DIR}/tmp" |
300 "^${CMAKE_CURRENT_SOURCE_DIR}/utils" |
309 "^${CMAKE_CURRENT_SOURCE_DIR}/utils" |
301 "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Maps/test" |
310 "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Maps/test" |
302 "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Themes/ethereal" |
311 "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Themes/ethereal" |
303 "^${CMAKE_CURRENT_SOURCE_DIR}/install_manifest.txt" |
312 "^${CMAKE_CURRENT_SOURCE_DIR}/install_manifest.txt" |
304 "^${CMAKE_CURRENT_SOURCE_DIR}/CMakeCache.txt" |
313 "^${CMAKE_CURRENT_SOURCE_DIR}/CMakeCache.txt" |
305 "^${CMAKE_CURRENT_SOURCE_DIR}/hedgewars\\\\." |
314 "^${CMAKE_CURRENT_SOURCE_DIR}/hedgewars\\\\." |
306 ) |
315 ) |
307 |
316 |
308 include(CPack) |
317 include(CPack) |
309 |
318 |