mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[Build][Backtracing] Make sure the deployment target for OS X is over 10.14.4.
We need to make sure that we build swift-backtrace with a deployment target newer than 10.14.4 in order that we get linked against `/usr/lib/swift/libswiftCore.dylib` rather than using an `@rpath`-based path. If we fail to do that, dyld becomes confused and we end up crashing with weird errors about missing method implementations on `Swift.__StringStorage`. To make this work, add support for `DEPLOYMENT_VERSION_*` in the `add_swift_target_executable()` CMake function. And since I spotted a bug in it, fix the existing support in `add_swift_target_library()` while I'm there. rdar://132710670
This commit is contained in:
@@ -1433,12 +1433,12 @@ function(add_swift_target_library_single target name)
|
||||
ENABLE_ASSERTIONS "${enable_assertions}"
|
||||
ANALYZE_CODE_COVERAGE "${analyze_code_coverage}"
|
||||
ENABLE_LTO "${lto_type}"
|
||||
DEPLOYMENT_VERSION_OSX "${SWIFTLIB_DEPLOYMENT_VERSION_OSX}"
|
||||
DEPLOYMENT_VERSION_MACCATALYST "${SWIFTLIB_DEPLOYMENT_VERSION_MACCATALYST}"
|
||||
DEPLOYMENT_VERSION_IOS "${SWIFTLIB_DEPLOYMENT_VERSION_IOS}"
|
||||
DEPLOYMENT_VERSION_TVOS "${SWIFTLIB_DEPLOYMENT_VERSION_TVOS}"
|
||||
DEPLOYMENT_VERSION_WATCHOS "${SWIFTLIB_DEPLOYMENT_VERSION_WATCHOS}"
|
||||
DEPLOYMENT_VERSION_XROS "${SWIFTLIB_DEPLOYMENT_VERSION_XROS}"
|
||||
DEPLOYMENT_VERSION_OSX "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_OSX}"
|
||||
DEPLOYMENT_VERSION_MACCATALYST "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_MACCATALYST}"
|
||||
DEPLOYMENT_VERSION_IOS "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_IOS}"
|
||||
DEPLOYMENT_VERSION_TVOS "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_TVOS}"
|
||||
DEPLOYMENT_VERSION_WATCHOS "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_WATCHOS}"
|
||||
DEPLOYMENT_VERSION_XROS "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_XROS}"
|
||||
RESULT_VAR_NAME c_compile_flags
|
||||
MACCATALYST_BUILD_FLAVOR "${SWIFTLIB_SINGLE_MACCATALYST_BUILD_FLAVOR}"
|
||||
)
|
||||
@@ -1456,12 +1456,12 @@ function(add_swift_target_library_single target name)
|
||||
ANALYZE_CODE_COVERAGE "${analyze_code_coverage}"
|
||||
ENABLE_LTO "${lto_type}"
|
||||
LTO_OBJECT_NAME "${target}-${SWIFTLIB_SINGLE_SDK}-${SWIFTLIB_SINGLE_ARCHITECTURE}"
|
||||
DEPLOYMENT_VERSION_OSX "${SWIFTLIB_DEPLOYMENT_VERSION_OSX}"
|
||||
DEPLOYMENT_VERSION_MACCATALYST "${SWIFTLIB_DEPLOYMENT_VERSION_MACCATALYST}"
|
||||
DEPLOYMENT_VERSION_IOS "${SWIFTLIB_DEPLOYMENT_VERSION_IOS}"
|
||||
DEPLOYMENT_VERSION_TVOS "${SWIFTLIB_DEPLOYMENT_VERSION_TVOS}"
|
||||
DEPLOYMENT_VERSION_WATCHOS "${SWIFTLIB_DEPLOYMENT_VERSION_WATCHOS}"
|
||||
DEPLOYMENT_VERSION_XROS "${SWIFTLIB_DEPLOYMENT_VERSION_XROS}"
|
||||
DEPLOYMENT_VERSION_OSX "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_OSX}"
|
||||
DEPLOYMENT_VERSION_MACCATALYST "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_MACCATALYST}"
|
||||
DEPLOYMENT_VERSION_IOS "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_IOS}"
|
||||
DEPLOYMENT_VERSION_TVOS "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_TVOS}"
|
||||
DEPLOYMENT_VERSION_WATCHOS "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_WATCHOS}"
|
||||
DEPLOYMENT_VERSION_XROS "${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_XROS}"
|
||||
RESULT_VAR_NAME link_flags
|
||||
LINK_LIBRARIES_VAR_NAME link_libraries
|
||||
LIBRARY_SEARCH_DIRECTORIES_VAR_NAME library_search_directories
|
||||
@@ -2828,7 +2828,13 @@ function(_add_swift_target_executable_single name)
|
||||
INSTALL_IN_COMPONENT)
|
||||
set(multiple_parameter_options
|
||||
COMPILE_FLAGS
|
||||
DEPENDS)
|
||||
DEPENDS
|
||||
DEPLOYMENT_VERSION_IOS
|
||||
DEPLOYMENT_VERSION_OSX
|
||||
DEPLOYMENT_VERSION_MACCATALYST
|
||||
DEPLOYMENT_VERSION_TVOS
|
||||
DEPLOYMENT_VERSION_WATCHOS
|
||||
DEPLOYMENT_VERSION_XROS)
|
||||
cmake_parse_arguments(SWIFTEXE_SINGLE
|
||||
"${options}"
|
||||
"${single_parameter_options}"
|
||||
@@ -2857,6 +2863,12 @@ function(_add_swift_target_executable_single name)
|
||||
ENABLE_ASSERTIONS "${LLVM_ENABLE_ASSERTIONS}"
|
||||
ENABLE_LTO "${SWIFT_STDLIB_ENABLE_LTO}"
|
||||
ANALYZE_CODE_COVERAGE "${SWIFT_ANALYZE_CODE_COVERAGE}"
|
||||
DEPLOYMENT_VERSION_OSX "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_OSX}"
|
||||
DEPLOYMENT_VERSION_MACCATALYST "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_MACCATALYST}"
|
||||
DEPLOYMENT_VERSION_IOS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_IOS}"
|
||||
DEPLOYMENT_VERSION_TVOS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_TVOS}"
|
||||
DEPLOYMENT_VERSION_WATCHOS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_WATCHOS}"
|
||||
DEPLOYMENT_VERSION_XROS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_XROS}"
|
||||
RESULT_VAR_NAME c_compile_flags)
|
||||
_add_target_variant_link_flags(
|
||||
SDK "${SWIFTEXE_SINGLE_SDK}"
|
||||
@@ -2866,6 +2878,12 @@ function(_add_swift_target_executable_single name)
|
||||
ENABLE_LTO "${SWIFT_STDLIB_ENABLE_LTO}"
|
||||
LTO_OBJECT_NAME "${name}-${SWIFTEXE_SINGLE_SDK}-${SWIFTEXE_SINGLE_ARCHITECTURE}"
|
||||
ANALYZE_CODE_COVERAGE "${SWIFT_ANALYZE_CODE_COVERAGE}"
|
||||
DEPLOYMENT_VERSION_OSX "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_OSX}"
|
||||
DEPLOYMENT_VERSION_MACCATALYST "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_MACCATALYST}"
|
||||
DEPLOYMENT_VERSION_IOS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_IOS}"
|
||||
DEPLOYMENT_VERSION_TVOS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_TVOS}"
|
||||
DEPLOYMENT_VERSION_WATCHOS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_WATCHOS}"
|
||||
DEPLOYMENT_VERSION_XROS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_XROS}"
|
||||
RESULT_VAR_NAME link_flags
|
||||
LINK_LIBRARIES_VAR_NAME link_libraries
|
||||
LIBRARY_SEARCH_DIRECTORIES_VAR_NAME library_search_directories)
|
||||
@@ -2896,6 +2914,12 @@ function(_add_swift_target_executable_single name)
|
||||
COMPILE_FLAGS ${SWIFTEXE_SINGLE_COMPILE_FLAGS}
|
||||
ENABLE_LTO "${SWIFT_STDLIB_ENABLE_LTO}"
|
||||
INSTALL_IN_COMPONENT "${install_in_component}"
|
||||
DEPLOYMENT_VERSION_OSX "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_OSX}"
|
||||
DEPLOYMENT_VERSION_MACCATALYST "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_MACCATALYST}"
|
||||
DEPLOYMENT_VERSION_IOS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_IOS}"
|
||||
DEPLOYMENT_VERSION_TVOS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_TVOS}"
|
||||
DEPLOYMENT_VERSION_WATCHOS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_WATCHOS}"
|
||||
DEPLOYMENT_VERSION_XROS "${SWIFTEXE_SINGLE_DEPLOYMENT_VERSION_XROS}"
|
||||
IS_MAIN)
|
||||
add_swift_source_group("${SWIFTEXE_SINGLE_EXTERNAL_SOURCES}")
|
||||
|
||||
@@ -3015,6 +3039,12 @@ function(add_swift_target_executable name)
|
||||
PREFER_STATIC
|
||||
NOSWIFTRT)
|
||||
set(SWIFTEXE_single_parameter_options
|
||||
DEPLOYMENT_VERSION_IOS
|
||||
DEPLOYMENT_VERSION_OSX
|
||||
DEPLOYMENT_VERSION_MACCATALYST
|
||||
DEPLOYMENT_VERSION_TVOS
|
||||
DEPLOYMENT_VERSION_WATCHOS
|
||||
DEPLOYMENT_VERSION_XROS
|
||||
INSTALL_IN_COMPONENT)
|
||||
set(SWIFTEXE_multiple_parameter_options
|
||||
DEPENDS
|
||||
@@ -3253,6 +3283,13 @@ function(add_swift_target_executable name)
|
||||
${SWIFTEXE_TARGET_DEPENDS_with_suffix}
|
||||
${swiftexe_module_dependency_targets}
|
||||
${swiftexe_link_libraries_targets}
|
||||
DEPLOYMENT_VERSION_OSX "${SWIFTEXE_TARGET_DEPLOYMENT_VERSION_OSX}"
|
||||
DEPLOYMENT_VERSION_MACCATALYST
|
||||
"${SWIFTEXE_TARGET_DEPLOYMENT_VERSION_MACCATALYST}"
|
||||
DEPLOYMENT_VERSION_IOS "${SWIFTEXE_TARGET_DEPLOYMENT_VERSION_IOS}"
|
||||
DEPLOYMENT_VERSION_TVOS "${SWIFTEXE_TARGET_DEPLOYMENT_VERSION_TVOS}"
|
||||
DEPLOYMENT_VERSION_WATCHOS "${SWIFTEXE_TARGET_DEPLOYMENT_VERSION_WATCHOS}"
|
||||
DEPLOYMENT_VERSION_XROS "${SWIFTEXE_TARGET_DEPLOYMENT_VERSION_XROS}"
|
||||
SDK "${sdk}"
|
||||
ARCHITECTURE "${arch}"
|
||||
COMPILE_FLAGS
|
||||
|
||||
Reference in New Issue
Block a user