Skip to content

Commit 415ddae

Browse files
committed
[build] Respect DEPLOYMENT_VERSION_OSX for Swift-only targets
The CMake flag `DEPLOYMENT_VERSION_OSX` is currently only passed to the C compiler. This change makes sure it is also passed to the Swift compiler, e.g. when building Swift-only targets like Cxx or CxxStdlib. rdar://117699474 (cherry picked from commit e192ee2)
1 parent df7376f commit 415ddae

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

stdlib/cmake/modules/AddSwiftStdlib.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -978,6 +978,7 @@ function(add_swift_target_library_single target name)
978978
${SWIFTLIB_SINGLE_NO_LINK_NAME_keyword}
979979
ENABLE_LTO "${SWIFTLIB_SINGLE_ENABLE_LTO}"
980980
INSTALL_IN_COMPONENT "${install_in_component}"
981+
DEPLOYMENT_VERSION_OSX ${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_OSX}
981982
MACCATALYST_BUILD_FLAVOR "${SWIFTLIB_SINGLE_MACCATALYST_BUILD_FLAVOR}"
982983
${BOOTSTRAPPING_arg})
983984
add_swift_source_group("${SWIFTLIB_SINGLE_EXTERNAL_SOURCES}")

stdlib/cmake/modules/SwiftSource.cmake

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function(handle_swift_sources
5050
sourcesvar externalvar name)
5151
cmake_parse_arguments(SWIFTSOURCES
5252
"IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;NO_LINK_NAME;IS_FRAGILE"
53-
"SDK;ARCHITECTURE;INSTALL_IN_COMPONENT;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
53+
"SDK;ARCHITECTURE;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
5454
"DEPENDS;COMPILE_FLAGS;MODULE_NAME;ENABLE_LTO"
5555
${ARGN})
5656
translate_flag(${SWIFTSOURCES_IS_MAIN} "IS_MAIN" IS_MAIN_arg)
@@ -155,6 +155,7 @@ function(handle_swift_sources
155155
${BOOTSTRAPPING_arg}
156156
${IS_FRAGILE_arg}
157157
INSTALL_IN_COMPONENT "${SWIFTSOURCES_INSTALL_IN_COMPONENT}"
158+
DEPLOYMENT_VERSION_OSX ${SWIFTSOURCES_DEPLOYMENT_VERSION_OSX}
158159
MACCATALYST_BUILD_FLAVOR "${SWIFTSOURCES_MACCATALYST_BUILD_FLAVOR}")
159160
set("${dependency_target_out_var_name}" "${dependency_target}" PARENT_SCOPE)
160161
set("${dependency_module_target_out_var_name}" "${module_dependency_target}" PARENT_SCOPE)
@@ -222,7 +223,7 @@ function(_add_target_variant_swift_compile_flags
222223
cmake_parse_arguments(
223224
VARIANT # prefix
224225
"" # options
225-
"MACCATALYST_BUILD_FLAVOR" # single-value args
226+
"MACCATALYST_BUILD_FLAVOR;DEPLOYMENT_VERSION_OSX" # single-value args
226227
"" # multi-value args
227228
${ARGN})
228229

@@ -233,6 +234,10 @@ function(_add_target_variant_swift_compile_flags
233234

234235
if("${sdk}" IN_LIST SWIFT_DARWIN_PLATFORMS)
235236
set(sdk_deployment_version "${SWIFT_SDK_${sdk}_DEPLOYMENT_VERSION}")
237+
if("${sdk}" STREQUAL "OSX" AND DEFINED VARIANT_DEPLOYMENT_VERSION_OSX)
238+
set(sdk_deployment_version ${VARIANT_DEPLOYMENT_VERSION_OSX})
239+
endif()
240+
236241
get_target_triple(target target_variant "${sdk}" "${arch}"
237242
MACCATALYST_BUILD_FLAVOR "${VARIANT_MACCATALYST_BUILD_FLAVOR}"
238243
DEPLOYMENT_VERSION "${sdk_deployment_version}")
@@ -379,7 +384,7 @@ function(_compile_swift_files
379384
dependency_sibgen_target_out_var_name)
380385
cmake_parse_arguments(SWIFTFILE
381386
"IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;IS_FRAGILE"
382-
"OUTPUT;MODULE_NAME;INSTALL_IN_COMPONENT;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
387+
"OUTPUT;MODULE_NAME;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
383388
"SOURCES;FLAGS;DEPENDS;SDK;ARCHITECTURE;OPT_FLAGS;MODULE_DIR"
384389
${ARGN})
385390

@@ -452,6 +457,7 @@ function(_compile_swift_files
452457
"${SWIFT_STDLIB_BUILD_TYPE}"
453458
"${SWIFT_STDLIB_ASSERTIONS}"
454459
swift_flags
460+
DEPLOYMENT_VERSION_OSX ${SWIFTFILE_DEPLOYMENT_VERSION_OSX}
455461
MACCATALYST_BUILD_FLAVOR "${maccatalyst_build_flavor}"
456462
)
457463

0 commit comments

Comments
 (0)