diff --git a/cmake/Modules/ObsDefaults_macOS.cmake b/cmake/Modules/ObsDefaults_macOS.cmake index da6ee9ac9..c47ab328d 100644 --- a/cmake/Modules/ObsDefaults_macOS.cmake +++ b/cmake/Modules/ObsDefaults_macOS.cmake @@ -14,17 +14,30 @@ if(POLICY CMP0025) endif() # Build options -set(CMAKE_OSX_ARCHITECTURES - "x86_64" - CACHE STRING "OBS build architecture for macOS - x86_64 required at least") +if(NOT DEFINED CMAKE_OSX_ARCHITECTURES OR CMAKE_OSX_ARCHITECTURES STREQUAL "") + set(CMAKE_OSX_ARCHITECTURES + "${CMAKE_HOST_SYSTEM_PROCESSOR}" + CACHE STRING + "OBS build architecture for macOS - x86_64 required at least" FORCE) +endif() set_property(CACHE CMAKE_OSX_ARCHITECTURES PROPERTY STRINGS x86_64 arm64 "x86_64;arm64") -set(CMAKE_OSX_DEPLOYMENT_TARGET - "10.13" - CACHE STRING "OBS deployment target for macOS - 10.13+ required") +if(NOT DEFINED CMAKE_OSX_DEPLOYMENT_TARGET OR CMAKE_OSX_DEPLOYMENT_TARGET + STREQUAL "") + if("${CMAKE_OSX_ARCHITECTURES}" MATCHES ".*arm64.*") + set(_MACOS_DEPLOYMENT_TARGET "11.0") + else() + set(_MACOS_DEPLOYMENT_TARGET "10.13") + endif() + + set(CMAKE_OSX_DEPLOYMENT_TARGET + "${_MACOS_DEPLOYMENT_TARGET}" + CACHE STRING "OBS deployment target for macOS - 10.13+ required" FORCE) + unset(_MACOS_DEPLOYMENT_TARGET) +endif() set_property(CACHE CMAKE_OSX_DEPLOYMENT_TARGET PROPERTY STRINGS 10.13 10.14 - 10.15 11 12) + 10.15 11.0 12.0) if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX @@ -57,9 +70,12 @@ endif() macro(setup_obs_project) # Set code signing options - set(OBS_BUNDLE_CODESIGN_IDENTITY - "-" - CACHE STRING "OBS code signing identity for macOS") + if(NOT DEFINED OBS_BUNDLE_CODESIGN_IDENTITY OR OBS_BUNDLE_CODESIGN_IDENTITY + STREQUAL "") + set(OBS_BUNDLE_CODESIGN_IDENTITY + "-" + CACHE STRING "OBS code signing identity for macOS") + endif() set(OBS_CODESIGN_ENTITLEMENTS "${CMAKE_SOURCE_DIR}/cmake/bundle/macOS/entitlements.plist" CACHE INTERNAL "Path to codesign entitlements plist")