author | koda |
Fri, 16 Oct 2009 20:00:12 +0000 | |
changeset 2508 | f1f24e76294b |
parent 2503 | 74e78d7b39fe |
child 2515 | 51d3f4b6293a |
permissions | -rw-r--r-- |
184 | 1 |
project(hedgewars) |
2 |
||
1461
87e5a6c3882c
Ping clients every 30 seconds, should help with ghosts on server
unc0rr
parents:
1459
diff
changeset
|
3 |
cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) |
184 | 4 |
|
1107 | 5 |
if(COMMAND cmake_policy) |
6 |
cmake_policy(SET CMP0003 NEW) |
|
7 |
endif(COMMAND cmake_policy) |
|
8 |
||
1843 | 9 |
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules) |
1107 | 10 |
|
907 | 11 |
set(CPACK_PACKAGE_VERSION_MAJOR "0") |
12 |
set(CPACK_PACKAGE_VERSION_MINOR "9") |
|
2503 | 13 |
set(CPACK_PACKAGE_VERSION_PATCH "12-RC1") |
907 | 14 |
|
2219
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2203
diff
changeset
|
15 |
set(universal_build false) |
2015 | 16 |
|
17 |
if(APPLE) |
|
2219
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2203
diff
changeset
|
18 |
set(bundle_name Hedgewars.app) |
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2203
diff
changeset
|
19 |
set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) |
2015 | 20 |
set(DATA_INSTALL_DIR "../Resources/") |
2219
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2203
diff
changeset
|
21 |
set(target_dir ".") |
2015 | 22 |
|
2406 | 23 |
if(UNIVERSAL) |
24 |
set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400") |
|
2219
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2203
diff
changeset
|
25 |
set(universal_build true) |
2401 | 26 |
message(STATUS "Building a Universal Application") |
2406 | 27 |
else(UNIVERSAL) |
28 |
if(UNIVERSAL64) |
|
29 |
set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400;x86_64") |
|
30 |
set(universal_build true) |
|
31 |
message(STATUS "Building a Universal 64 bits Application") |
|
32 |
endif(UNIVERSAL64) |
|
33 |
endif(UNIVERSAL) |
|
34 |
||
2203
6bd39d75e0dd
-Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents:
2200
diff
changeset
|
35 |
else(APPLE) |
2219
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2203
diff
changeset
|
36 |
set(target_dir "bin") |
2015 | 37 |
endif(APPLE) |
38 |
||
2406 | 39 |
|
40 |
if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES "Release") |
|
41 |
set(CMAKE_BUILD_TYPE "Release") |
|
42 |
set(OPTIMIZATIONS true) |
|
43 |
message(STATUS "Building Release") |
|
44 |
else() |
|
45 |
set(CMAKE_BUILD_TYPE "Debug") |
|
46 |
set(OPTIMIZATIONS false) |
|
47 |
set(CMAKE_VERBOSE_MAKEFILE true) |
|
48 |
message(STATUS "Building Debug") |
|
49 |
endif() |
|
50 |
||
51 |
||
266 | 52 |
if(DEFINED DATA_INSTALL_DIR) |
262 | 53 |
set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/) |
266 | 54 |
else(DEFINED DATA_INSTALL_DIR) |
262 | 55 |
set(SHAREPATH share/hedgewars/) |
266 | 56 |
endif(DEFINED DATA_INSTALL_DIR) |
220 | 57 |
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) |
184 | 58 |
|
907 | 59 |
set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") |
2122
a3f987f1ddcd
Current trunk version isn't compatible with 0.9.11, so set version to 0.9.12-dev
unc0rr
parents:
2107
diff
changeset
|
60 |
set(HEDGEWARS_PROTO_VER 28) |
271 | 61 |
|
1415
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
62 |
if(WITH_SERVER) |
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
63 |
set(HAVE_NETSERVER true) |
1979 | 64 |
add_subdirectory(gameServer) |
1415
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
65 |
else(WITH_SERVER) |
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
66 |
set(HAVE_NETSERVER false) |
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
67 |
endif(WITH_SERVER) |
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
68 |
|
2239
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
69 |
#set default flags values for all the project |
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
70 |
set(CMAKE_C_FLAGS "-Wall -pipe") |
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
71 |
set(CMAKE_C_FLAGS_RELEASE "-w -O2 -fomit-frame-pointer") |
2494 | 72 |
set(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG") |
2406 | 73 |
if(APPLE AND NOT universal_build) |
2413
d921d13a8546
fix that nasty "Pascal Internal Error" when compiling
koda
parents:
2406
diff
changeset
|
74 |
set(CMAKE_C_FLAGS_RELEASE "-msse2 ${CMAKE_C_FLAGS_RELEASE}") |
2406 | 75 |
endif() |
2239
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
76 |
set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS}) |
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
77 |
set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) |
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
78 |
set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) |
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
79 |
|
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
80 |
|
223 | 81 |
add_subdirectory(bin) |
2191 | 82 |
add_subdirectory(openalbridge) |
184 | 83 |
add_subdirectory(QTfrontend) |
84 |
add_subdirectory(hedgewars) |
|
85 |
add_subdirectory(share) |
|
2219
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2203
diff
changeset
|
86 |
add_subdirectory(tools) |
2203
6bd39d75e0dd
-Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents:
2200
diff
changeset
|
87 |
|
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
88 |
# CPack vars |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
89 |
|
184 | 90 |
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Hedgewars, a turn-based strategy") |
91 |
set(CPACK_PACKAGE_VENDOR "Hedgewars") |
|
907 | 92 |
set(CPACK_PACKAGE_FILE_NAME "hedgewars-${HEDGEWARS_VERSION}") |
93 |
set(CPACK_SOURCE_PACKAGE_FILE_NAME "hedgewars-src-${HEDGEWARS_VERSION}") |
|
1459 | 94 |
set(CPACK_SOURCE_GENERATOR "TBZ2") |
1173
70b0acd4548c
Revert accidental nsis installer generator regression
unc0rr
parents:
1159
diff
changeset
|
95 |
set(CPACK_PACKAGE_EXECUTABLES "hedgewars" "hedgewars") |
458 | 96 |
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") |
907 | 97 |
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Hedgewars ${HEDGEWARS_VERSION}") |
184 | 98 |
|
99 |
if(WIN32 AND NOT UNIX) |
|
2200
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
100 |
set(CPACK_NSIS_DISPLAY_NAME "Hedgewars, a free turn-based strategy game") |
184 | 101 |
set(CPACK_NSIS_HELP_LINK "http://www.hedgewars.org/") |
102 |
set(CPACK_NSIS_URL_INFO_ABOUT "http://www.hedgewars.org/") |
|
103 |
set(CPACK_NSIS_CONTACT "unC0Rr@gmail.com") |
|
1159 | 104 |
set(CPACK_NSIS_MODIFY_PATH OFF) |
105 |
set(CPACK_GENERATOR "ZIP;NSIS") |
|
184 | 106 |
else(WIN32 AND NOT UNIX) |
107 |
set(CPACK_STRIP_FILES "bin/hedgewars;bin/hwengine") |
|
108 |
endif(WIN32 AND NOT UNIX) |
|
109 |
||
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
110 |
set(CPACK_SOURCE_IGNORE_FILES |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
111 |
"~" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
112 |
"\\\\.svn" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
113 |
"\\\\.exe$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
114 |
"\\\\.a$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
115 |
"\\\\.dll$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
116 |
"\\\\.xcf$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
117 |
"\\\\.cxx$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
118 |
"\\\\.db$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
119 |
"\\\\.dof$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
120 |
"\\\\.cmake$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
121 |
"\\\\.layout$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
122 |
"\\\\.zip$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
123 |
"\\\\.gz$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
124 |
"\\\\.bz2$" |
722
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
125 |
"\\\\.tmp$" |
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
126 |
"\\\\.core$" |
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
127 |
"\\\\.sh$" |
727
da975a75af09
Fix all issues with make package_source on my system
unc0rr
parents:
722
diff
changeset
|
128 |
"\\\\.ppu$" |
da975a75af09
Fix all issues with make package_source on my system
unc0rr
parents:
722
diff
changeset
|
129 |
"\\\\.o$" |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
130 |
"Makefile" |
722
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
131 |
"Doxyfile" |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
132 |
"CMakeFiles" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
133 |
"debug" |
727
da975a75af09
Fix all issues with make package_source on my system
unc0rr
parents:
722
diff
changeset
|
134 |
"release$" |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
135 |
"Debug$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
136 |
"Release$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
137 |
"proto.inc$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
138 |
"hwconsts.cpp$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
139 |
"playlist.inc$" |
722
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
140 |
"CPack" |
727
da975a75af09
Fix all issues with make package_source on my system
unc0rr
parents:
722
diff
changeset
|
141 |
"^${PROJECT_SOURCE_DIR}/bin/[a-z]" |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
142 |
"^${PROJECT_SOURCE_DIR}/tools" |
722
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
143 |
"^${PROJECT_SOURCE_DIR}/doc" |
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
144 |
"^${PROJECT_SOURCE_DIR}/templates" |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
145 |
"^${PROJECT_SOURCE_DIR}/Graphics" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
146 |
"^${PROJECT_SOURCE_DIR}/realtest" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
147 |
"^${PROJECT_SOURCE_DIR}/tmp" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
148 |
"^${PROJECT_SOURCE_DIR}/utils" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
149 |
"^${PROJECT_SOURCE_DIR}/share/hedgewars/Data/Maps/test" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
150 |
"^${PROJECT_SOURCE_DIR}/share/hedgewars/Data/Themes/ethereal" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
151 |
"^${PROJECT_SOURCE_DIR}/install_manifest.txt" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
152 |
"^${PROJECT_SOURCE_DIR}/CMakeCache.txt" |
722
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
153 |
"^${PROJECT_SOURCE_DIR}/hedgewars\\\\." |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
154 |
) |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
155 |
|
184 | 156 |
include(CPack) |