Files
bun.sh/cmake/tools/SetupMacSDK.cmake
Dylan Conway b64edcb490 Update WebKit (#26549)
### What does this PR do?

Includes
9a2cc42ae1

Fixes #https://github.com/oven-sh/bun/issues/26525

### How did you verify your code works?

CI

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2026-01-29 01:22:53 -08:00

53 lines
1.8 KiB
CMake

set(MIN_OSX_DEPLOYMENT_TARGET "13.0")
if(DEFINED ENV{CI})
set(DEFAULT_OSX_DEPLOYMENT_TARGET ${MIN_OSX_DEPLOYMENT_TARGET})
else()
execute_process(
COMMAND xcrun --sdk macosx --show-sdk-version
OUTPUT_VARIABLE CURRENT_OSX_DEPLOYMENT_TARGET
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_VARIABLE DEFAULT_OSX_DEPLOYMENT_TARGET_ERROR
ERROR_STRIP_TRAILING_WHITESPACE
)
if(DEFAULT_OSX_DEPLOYMENT_TARGET_ERROR)
message(WARNING "Failed to find macOS SDK version, did you run `xcode-select --install`?")
message(FATAL_ERROR ${DEFAULT_OSX_DEPLOYMENT_TARGET_ERROR})
endif()
string(REGEX MATCH "^[0-9]*" DEFAULT_OSX_DEPLOYMENT_TARGET ${CURRENT_OSX_DEPLOYMENT_TARGET})
endif()
optionx(CMAKE_OSX_DEPLOYMENT_TARGET STRING "The macOS SDK version to target" DEFAULT ${DEFAULT_OSX_DEPLOYMENT_TARGET})
if(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS ${MIN_OSX_DEPLOYMENT_TARGET})
message(FATAL_ERROR "The target macOS SDK version, ${CMAKE_OSX_DEPLOYMENT_TARGET}, is older than the minimum supported version, ${MIN_OSX_DEPLOYMENT_TARGET}.")
endif()
execute_process(
COMMAND sw_vers -productVersion
OUTPUT_VARIABLE MACOS_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
execute_process(
COMMAND xcrun --sdk macosx --show-sdk-path
OUTPUT_VARIABLE DEFAULT_CMAKE_OSX_SYSROOT
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_VARIABLE DEFAULT_CMAKE_OSX_SYSROOT_ERROR
ERROR_STRIP_TRAILING_WHITESPACE
)
if(CMAKE_OSX_SYSROOT_ERROR)
message(WARNING "Failed to find macOS SDK path, did you run `xcode-select --install`?")
message(FATAL_ERROR ${CMAKE_OSX_SYSROOT_ERROR})
endif()
optionx(CMAKE_OSX_SYSROOT STRING "The macOS SDK path to target" DEFAULT ${DEFAULT_CMAKE_OSX_SYSROOT})
list(APPEND CMAKE_ARGS
-DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
)