29 lines
1,004 B
CMake
29 lines
1,004 B
CMake
|
|
|
|
execute_process(COMMAND arch OUTPUT_VARIABLE ARCH_OUTPUT)
|
|
|
|
# for testing outside macOS uncomment the following line
|
|
# execute_process(COMMAND echo " arm64 " OUTPUT_VARIABLE ARCH_OUTPUT)
|
|
|
|
string(STRIP "${ARCH_OUTPUT}" ARCH_OUTPUT)
|
|
|
|
message(STATUS "MacOS Arch returned: ${ARCH_OUTPUT}")
|
|
|
|
if ("${ARCH_OUTPUT}" STREQUAL "arm64")
|
|
set (CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "List of architectures for building macOS fat binaries")
|
|
endif()
|
|
|
|
message(STATUS "Target fat binary architectures: ${CMAKE_OSX_ARCHITECTURES}")
|
|
|
|
if (NOT DEFINED ENV{MACOSX_DEPLOYMENT_TARGET})
|
|
message(FATAL_ERROR "MACOSX_DEPLOYMENT_TARGET environment variable is not set!")
|
|
endif()
|
|
|
|
# it seems like the usage of a toolchain file resets cmake's ability
|
|
# to initialize CMAKE_PREFIX_PATH from an environment variable, so
|
|
# we should set it up manually
|
|
if (DEFINED ENV{CMAKE_PREFIX_PATH})
|
|
set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
|
|
endif()
|
|
|
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}")
|