1 |
1 |
2 if(APPLE) |
2 if(APPLE) |
3 if(${CMAKE_VERSION} VERSION_GREATER "2.8.10.2" AND |
3 #minimum for macOS. sorry! |
4 ${CMAKE_VERSION} VERSION_LESS "2.8.12.1") |
4 cmake_minimum_required(VERSION 3.9.0) |
5 message(FATAL_ERROR "This version of CMake is known *not* to work, please update or use a lower version") |
5 |
6 endif() |
6 #set c++11 standard for QT requirements |
|
7 set(CMAKE_CXX_STANDARD 11) |
|
8 set(CMAKE_CXX_STANDARD_REQUIRED ON) |
|
9 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++") |
7 |
10 |
8 set(CMAKE_FIND_FRAMEWORK "FIRST") |
11 set(CMAKE_FIND_FRAMEWORK "FIRST") |
9 |
12 |
10 #what system are we building for |
13 #what system are we building for |
11 set(minimum_macosx_version $ENV{MACOSX_DEPLOYMENT_TARGET}) |
14 set(minimum_macosx_version $ENV{MACOSX_DEPLOYMENT_TARGET}) |
29 #if nothing is set, we deploy only for the current system |
32 #if nothing is set, we deploy only for the current system |
30 if(NOT minimum_macosx_version) |
33 if(NOT minimum_macosx_version) |
31 set(minimum_macosx_version ${current_macosx_version}) |
34 set(minimum_macosx_version ${current_macosx_version}) |
32 endif() |
35 endif() |
33 |
36 |
34 #10.3 systems don't have enough processing power anyway |
37 #minimum OSX version is 10.8. Earlier versions cannot compile some dependencies anymore |
35 #10.4 does not have @rpath support (which SDL uses) |
38 #(like ffmpeg/libav) |
36 if(minimum_macosx_version VERSION_LESS "10.5") |
39 if(minimum_macosx_version VERSION_LESS "10.8") |
37 message(FATAL_ERROR "Hedgewars is not supported on your version of Mac OS X") |
40 message(FATAL_ERROR "Hedgewars is unsupported on your platform and requires Mac OS X 10.8+") |
38 endif() |
|
39 |
|
40 if(NOT CMAKE_OSX_ARCHITECTURES) |
|
41 if(current_macosx_version VERSION_LESS "10.6") |
|
42 #SDL is only 32 bit on older OS version |
|
43 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc*") |
|
44 set(CMAKE_OSX_ARCHITECTURES "ppc7400") |
|
45 else() |
|
46 set(CMAKE_OSX_ARCHITECTURES "i386") |
|
47 endif() |
|
48 endif() |
|
49 endif() |
41 endif() |
50 |
42 |
51 #parse this system variable and adjust only the powerpc syntax to be compatible with -P |
43 #parse this system variable and adjust only the powerpc syntax to be compatible with -P |
52 if(CMAKE_OSX_ARCHITECTURES) |
44 if(CMAKE_OSX_ARCHITECTURES) |
53 string(REGEX MATCH "[pP][pP][cC]+" powerpc_build "${CMAKE_OSX_ARCHITECTURES}") |
45 string(REGEX MATCH "[pP][pP][cC]+" powerpc_build "${CMAKE_OSX_ARCHITECTURES}") |
95 endif() |
87 endif() |
96 |
88 |
97 #add user framework directory |
89 #add user framework directory |
98 add_flag_append(CMAKE_Pascal_FLAGS "-Ff~/Library/Frameworks") |
90 add_flag_append(CMAKE_Pascal_FLAGS "-Ff~/Library/Frameworks") |
99 |
91 |
100 #workaround older cmake versions |
|
101 if(${CMAKE_VERSION} VERSION_LESS "2.8.12") |
|
102 add_flag_append(CMAKE_C_LINK_FLAGS "-Wl,-rpath -Wl,${CMAKE_INSTALL_RPATH}") |
|
103 add_flag_append(CMAKE_CXX_LINK_FLAGS "-Wl,-rpath -Wl,${CMAKE_INSTALL_RPATH}") |
|
104 add_flag_append(CMAKE_Pascal_LINK_FLAGS "-k-rpath -k${CMAKE_INSTALL_RPATH}") |
|
105 endif() |
|
106 endif(APPLE) |
92 endif(APPLE) |
107 |
93 |
108 if(MINGW) |
94 if(MINGW) |
109 #this flags prevents a few dll hell problems |
95 #this flags prevents a few dll hell problems |
110 add_flag_append(CMAKE_C_FLAGS "-static-libgcc") |
96 add_flag_append(CMAKE_C_FLAGS "-static-libgcc") |