From 78fd111692a8263d47eb9b989715e0a61c1241e7 Mon Sep 17 00:00:00 2001 From: jcm <6864788+jcm93@users.noreply.github.com> Date: Sun, 23 Feb 2025 17:58:09 -0600 Subject: [PATCH] cmake: Adjust macOS SDK detection --- cmake/macos/compilerconfig.cmake | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/cmake/macos/compilerconfig.cmake b/cmake/macos/compilerconfig.cmake index 13f925deae1b7c..e7ce6f5a5bcf2a 100644 --- a/cmake/macos/compilerconfig.cmake +++ b/cmake/macos/compilerconfig.cmake @@ -23,8 +23,21 @@ set_property(CACHE CMAKE_OSX_ARCHITECTURES PROPERTY STRINGS arm64 x86_64) # Ensure recent enough Xcode and platform SDK set(_obs_macos_minimum_sdk 15.0) # Keep in sync with Xcode set(_obs_macos_minimum_xcode 16.0) # Keep in sync with SDK -message(DEBUG "macOS SDK Path: ${CMAKE_OSX_SYSROOT}") -string(REGEX MATCH ".+/MacOSX.platform/Developer/SDKs/MacOSX([0-9]+\\.[0-9])+\\.sdk$" _ ${CMAKE_OSX_SYSROOT}) +execute_process( + COMMAND xcrun --sdk macosx --show-sdk-path + OUTPUT_VARIABLE _obs_macos_sdk_path + OUTPUT_STRIP_TRAILING_WHITESPACE +) +if(NOT IS_DIRECTORY "${_obs_macos_sdk_path}") + message( + FATAL_ERROR + "Failed to resolve macOS SDK path. " + "Ensure you have installed Xcode and that xcode-select points at the Xcode developer directory." + ) +endif() +message(DEBUG "macOS SDK Path: ${_obs_macos_sdk_path}") + +string(REGEX MATCH ".+/MacOSX.platform/Developer/SDKs/MacOSX([0-9]+\\.[0-9])+\\.sdk$" _ ${_obs_macos_sdk_path}) set(_obs_macos_current_sdk ${CMAKE_MATCH_1}) message(DEBUG "macOS SDK version: ${_obs_macos_current_sdk}") if(_obs_macos_current_sdk VERSION_LESS _obs_macos_minimum_sdk) @@ -34,6 +47,7 @@ if(_obs_macos_current_sdk VERSION_LESS _obs_macos_minimum_sdk) "The macOS ${_obs_macos_minimum_sdk} SDK (Xcode ${_obs_macos_minimum_xcode}) is required to build OBS." ) endif() +unset(_obs_macos_sdk_path) unset(_obs_macos_current_sdk) unset(_obs_macos_minimum_sdk) unset(_obs_macos_minimum_xcode)