author | nemo |
Tue, 08 Sep 2009 19:44:49 +0000 | |
changeset 2357 | babe1a55e284 |
parent 2239 | d7b5c65f7544 |
child 2401 | 2a694ea2a437 |
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") |
|
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
|
13 |
set(CPACK_PACKAGE_VERSION_PATCH "12-dev") |
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 |
|
23 |
if(CMAKE_OSX_ARCHITECTURES MATCHES "i386;ppc7400" OR CMAKE_OSX_ARCHITECTURES MATCHES "ppc7400;i386" OR CMAKE_OSX_ARCHITECTURES MATCHES "i386;ppc" OR CMAKE_OSX_ARCHITECTURES MATCHES "ppc;i386") |
|
2219
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2203
diff
changeset
|
24 |
set(universal_build true) |
2015 | 25 |
message("-- Building a Universal Application") |
2203
6bd39d75e0dd
-Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents:
2200
diff
changeset
|
26 |
endif() |
6bd39d75e0dd
-Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents:
2200
diff
changeset
|
27 |
else(APPLE) |
2219
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2203
diff
changeset
|
28 |
set(target_dir "bin") |
2015 | 29 |
endif(APPLE) |
30 |
||
266 | 31 |
if(DEFINED DATA_INSTALL_DIR) |
262 | 32 |
set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/) |
266 | 33 |
else(DEFINED DATA_INSTALL_DIR) |
262 | 34 |
set(SHAREPATH share/hedgewars/) |
266 | 35 |
endif(DEFINED DATA_INSTALL_DIR) |
220 | 36 |
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) |
184 | 37 |
|
907 | 38 |
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
|
39 |
set(HEDGEWARS_PROTO_VER 28) |
271 | 40 |
|
1415
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
41 |
if(WITH_SERVER) |
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
42 |
set(HAVE_NETSERVER true) |
1979 | 43 |
add_subdirectory(gameServer) |
1415
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
44 |
else(WITH_SERVER) |
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
45 |
set(HAVE_NETSERVER false) |
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
46 |
endif(WITH_SERVER) |
6fbfee0e113a
Allow build without net game server: introduce -DWITH_SERVER configuration parameter
unc0rr
parents:
1370
diff
changeset
|
47 |
|
2239
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
48 |
#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
|
49 |
set(CMAKE_C_FLAGS "-Wall -pipe") |
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
50 |
set(CMAKE_C_FLAGS_RELEASE "-w -O2 -fomit-frame-pointer") |
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
51 |
set(CMAKE_C_FLAGS_DEBUG "-O0 -g") |
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
52 |
set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS}) |
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
53 |
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
|
54 |
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
|
55 |
|
d7b5c65f7544
move C and C++ optimization flags in the main CMakeLists.txt
koda
parents:
2219
diff
changeset
|
56 |
|
223 | 57 |
add_subdirectory(bin) |
2191 | 58 |
add_subdirectory(openalbridge) |
184 | 59 |
add_subdirectory(QTfrontend) |
60 |
add_subdirectory(hedgewars) |
|
61 |
add_subdirectory(share) |
|
2219
07f5345ecae7
additional variable (BUNDLE) to make a standalone Mac application
koda
parents:
2203
diff
changeset
|
62 |
add_subdirectory(tools) |
2203
6bd39d75e0dd
-Added support for Release and Debug for CMAKE_BUILD_TYPE
koda
parents:
2200
diff
changeset
|
63 |
|
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
64 |
# CPack vars |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
65 |
|
184 | 66 |
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Hedgewars, a turn-based strategy") |
67 |
set(CPACK_PACKAGE_VENDOR "Hedgewars") |
|
907 | 68 |
set(CPACK_PACKAGE_FILE_NAME "hedgewars-${HEDGEWARS_VERSION}") |
69 |
set(CPACK_SOURCE_PACKAGE_FILE_NAME "hedgewars-src-${HEDGEWARS_VERSION}") |
|
1459 | 70 |
set(CPACK_SOURCE_GENERATOR "TBZ2") |
1173
70b0acd4548c
Revert accidental nsis installer generator regression
unc0rr
parents:
1159
diff
changeset
|
71 |
set(CPACK_PACKAGE_EXECUTABLES "hedgewars" "hedgewars") |
458 | 72 |
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") |
907 | 73 |
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Hedgewars ${HEDGEWARS_VERSION}") |
184 | 74 |
|
75 |
if(WIN32 AND NOT UNIX) |
|
2200
8192be6e3aef
koda/Smaxx changes to openal for crossplatform building
nemo
parents:
2191
diff
changeset
|
76 |
set(CPACK_NSIS_DISPLAY_NAME "Hedgewars, a free turn-based strategy game") |
184 | 77 |
set(CPACK_NSIS_HELP_LINK "http://www.hedgewars.org/") |
78 |
set(CPACK_NSIS_URL_INFO_ABOUT "http://www.hedgewars.org/") |
|
79 |
set(CPACK_NSIS_CONTACT "unC0Rr@gmail.com") |
|
1159 | 80 |
set(CPACK_NSIS_MODIFY_PATH OFF) |
81 |
set(CPACK_GENERATOR "ZIP;NSIS") |
|
184 | 82 |
else(WIN32 AND NOT UNIX) |
83 |
set(CPACK_STRIP_FILES "bin/hedgewars;bin/hwengine") |
|
84 |
endif(WIN32 AND NOT UNIX) |
|
85 |
||
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
86 |
set(CPACK_SOURCE_IGNORE_FILES |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
87 |
"~" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
88 |
"\\\\.svn" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
89 |
"\\\\.exe$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
90 |
"\\\\.a$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
91 |
"\\\\.dll$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
92 |
"\\\\.xcf$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
93 |
"\\\\.cxx$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
94 |
"\\\\.db$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
95 |
"\\\\.dof$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
96 |
"\\\\.cmake$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
97 |
"\\\\.layout$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
98 |
"\\\\.zip$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
99 |
"\\\\.gz$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
100 |
"\\\\.bz2$" |
722
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
101 |
"\\\\.tmp$" |
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
102 |
"\\\\.core$" |
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
103 |
"\\\\.sh$" |
727
da975a75af09
Fix all issues with make package_source on my system
unc0rr
parents:
722
diff
changeset
|
104 |
"\\\\.ppu$" |
da975a75af09
Fix all issues with make package_source on my system
unc0rr
parents:
722
diff
changeset
|
105 |
"\\\\.o$" |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
106 |
"Makefile" |
722
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
107 |
"Doxyfile" |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
108 |
"CMakeFiles" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
109 |
"debug" |
727
da975a75af09
Fix all issues with make package_source on my system
unc0rr
parents:
722
diff
changeset
|
110 |
"release$" |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
111 |
"Debug$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
112 |
"Release$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
113 |
"proto.inc$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
114 |
"hwconsts.cpp$" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
115 |
"playlist.inc$" |
722
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
116 |
"CPack" |
727
da975a75af09
Fix all issues with make package_source on my system
unc0rr
parents:
722
diff
changeset
|
117 |
"^${PROJECT_SOURCE_DIR}/bin/[a-z]" |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
118 |
"^${PROJECT_SOURCE_DIR}/tools" |
722
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
119 |
"^${PROJECT_SOURCE_DIR}/doc" |
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
120 |
"^${PROJECT_SOURCE_DIR}/templates" |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
121 |
"^${PROJECT_SOURCE_DIR}/Graphics" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
122 |
"^${PROJECT_SOURCE_DIR}/realtest" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
123 |
"^${PROJECT_SOURCE_DIR}/tmp" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
124 |
"^${PROJECT_SOURCE_DIR}/utils" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
125 |
"^${PROJECT_SOURCE_DIR}/share/hedgewars/Data/Maps/test" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
126 |
"^${PROJECT_SOURCE_DIR}/share/hedgewars/Data/Themes/ethereal" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
127 |
"^${PROJECT_SOURCE_DIR}/install_manifest.txt" |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
128 |
"^${PROJECT_SOURCE_DIR}/CMakeCache.txt" |
722
993faebbe546
- Use shotgun training as more attractive than the second one with bazooka
unc0rr
parents:
720
diff
changeset
|
129 |
"^${PROJECT_SOURCE_DIR}/hedgewars\\\\." |
584
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
130 |
) |
f381705f1aeb
Some stuff to get good results from make 'package_source'
unc0rr
parents:
546
diff
changeset
|
131 |
|
184 | 132 |
include(CPack) |