Improve cmake script for macOS
Add default minimum target to 10.7. The CMAKE_OSX_* variables need to be defined before the project or the CMAKE_CXX_STANDARD gets ignored. They also need to be set with FORCE.
This commit is contained in:
parent
49776092d1
commit
5a4b592bbc
@ -21,6 +21,23 @@ if(NOT CMAKE_VERSION VERSION_LESS 3.0)
|
|||||||
cmake_policy(SET CMP0042 NEW)
|
cmake_policy(SET CMP0042 NEW)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# add some default value for some additional macOS variable
|
||||||
|
# note that those variables are ignored on other systems
|
||||||
|
if(NOT CMAKE_OSX_ARCHITECTURES)
|
||||||
|
set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "macOS architecture to build; 64-bit is expected" FORCE)
|
||||||
|
endif()
|
||||||
|
if(NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.7" CACHE STRING "macOS deployement target; 10.7+ is expected" FORCE)
|
||||||
|
endif()
|
||||||
|
if(NOT CMAKE_OSX_SYSROOT)
|
||||||
|
# query the path to the default SDK, will fail on non-macOS, but it's okay.
|
||||||
|
execute_process(COMMAND xcodebuild -sdk macosx -version Path
|
||||||
|
COMMAND head -n 1
|
||||||
|
COMMAND tr -d '\n'
|
||||||
|
OUTPUT_VARIABLE CMAKE_OSX_SYSROOT
|
||||||
|
ERROR_QUIET)
|
||||||
|
endif()
|
||||||
|
|
||||||
# set Android specific options
|
# set Android specific options
|
||||||
|
|
||||||
# define the minimum API level to be used
|
# define the minimum API level to be used
|
||||||
@ -247,9 +264,13 @@ if(SFML_OS_MACOSX)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# only the default architecture (i.e. 64-bit) is supported
|
# only the default architecture (i.e. 64-bit) is supported
|
||||||
if(CMAKE_OSX_ARCHITECTURES AND NOT CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64")
|
if(NOT CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64")
|
||||||
message(FATAL_ERROR "Only 64-bit architecture is supported")
|
message(FATAL_ERROR "Only 64-bit architecture is supported")
|
||||||
return()
|
endif()
|
||||||
|
|
||||||
|
# Ensure macOS 10.7+ is used
|
||||||
|
if(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS "10.7")
|
||||||
|
message(FATAL_ERROR "macOS 10.7 or greater is required for the deployment target.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# configure Xcode templates
|
# configure Xcode templates
|
||||||
|
Loading…
Reference in New Issue
Block a user