1 project(hedgewars) |
1 project(hedgewars) |
2 |
2 |
3 cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) |
3 cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) |
4 cmake_policy(SET CMP0003 NEW) |
4 FOREACH(policy CMP0003 CMP0012) |
5 |
5 IF(POLICY ${policy}) |
6 IF(POLICY CMP0012) |
6 CMAKE_POLICY(SET ${policy} NEW) |
7 cmake_policy(SET CMP0012 NEW) |
7 ENDIF() |
8 ENDIF() |
8 ENDFOREACH() |
9 |
9 |
10 #detect Mercurial revision (if present) |
10 #detect Mercurial revision (if present) |
11 set(version_suffix "-dev") #UNSET THIS VARIABLE AT RELEASE TIME |
11 set(version_suffix "-dev") #UNSET THIS VARIABLE AT RELEASE TIME |
12 set(HGCHANGED "") |
12 set(HGCHANGED "") |
13 IF(version_suffix MATCHES "-dev") |
13 IF(version_suffix MATCHES "-dev") |
51 if(APPLE) |
51 if(APPLE) |
52 set(CMAKE_FIND_FRAMEWORK "FIRST") |
52 set(CMAKE_FIND_FRAMEWORK "FIRST") |
53 |
53 |
54 #paths for creating the bundle |
54 #paths for creating the bundle |
55 set(bundle_name Hedgewars.app) |
55 set(bundle_name Hedgewars.app) |
|
56 set(frameworks_dir ${bundle_name}/Contents/Frameworks/) |
56 set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) |
57 set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) |
57 set(DATA_INSTALL_DIR "../Resources/") |
58 set(DATA_INSTALL_DIR "../Resources/") |
58 set(target_dir ".") |
59 set(target_dir ".") |
59 |
60 |
60 #what system are we building for |
61 #what system are we building for |
61 set(minimum_macosx $ENV{MACOSX_DEPLOYMENT_TARGET}) |
62 set(minimum_macosx $ENV{MACOSX_DEPLOYMENT_TARGET}) |
62 |
63 |
63 #detect on which system are we |
64 #detect on which system are we |
64 EXEC_PROGRAM("/usr/bin/sw_vers" OUTPUT_VARIABLE MACOSX_VERSION_TMP) |
65 EXEC_PROGRAM("/usr/bin/sw_vers" ARGS "-productVersion" OUTPUT_VARIABLE current_macosx_version) |
65 STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MACOSX_VERSION_TMP "${MACOSX_VERSION_TMP}") |
66 STRING(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" current_macosx_version ${current_macosx_version}) |
66 STRING(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" current_macosx_version ${MACOSX_VERSION_TMP}) |
|
67 |
67 |
68 #if nothing is set, we deploy only for the current system |
68 #if nothing is set, we deploy only for the current system |
69 if(NOT minimum_macosx) |
69 if(NOT minimum_macosx) |
70 set(minimum_macosx ${current_macosx_version}) |
70 set(minimum_macosx ${current_macosx_version}) |
71 endif() |
71 endif() |
72 |
72 |
73 if (minimum_macosx LESS "10.4") |
73 if (minimum_macosx LESS "10.4") |
74 set(FATAL "Hedgewars is not supported for pre-10.4 systems") |
74 set(FATAL "Hedgewars is not supported for pre-10.4 systems") |
75 endif() |
75 endif() |
76 |
76 |
|
77 #this variable needs to be set for frapascal universal binary |
77 if(NOT CMAKE_OSX_ARCHITECTURES) |
78 if(NOT CMAKE_OSX_ARCHITECTURES) |
78 if(current_macosx_version MATCHES "10.6") |
79 if(current_macosx_version MATCHES "10.6") |
79 set(CMAKE_OSX_ARCHITECTURES "x86_64;i386") |
80 set(CMAKE_OSX_ARCHITECTURES "x86_64;i386") |
80 else() |
81 else() |
81 set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400") |
82 set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400") |