Skip to content

Commit 0db93e2

Browse files
authored
Merge pull request #69670 from apple/egorzhdan/cmake-deployment-target
[build] Respect `DEPLOYMENT_VERSION_{IOS|TVOS|WATCHOS}` for Swift sources
2 parents 71612e6 + f8b5143 commit 0db93e2

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

stdlib/cmake/modules/AddSwiftStdlib.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -990,6 +990,9 @@ function(add_swift_target_library_single target name)
990990
ENABLE_LTO "${SWIFTLIB_SINGLE_ENABLE_LTO}"
991991
INSTALL_IN_COMPONENT "${install_in_component}"
992992
DEPLOYMENT_VERSION_OSX ${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_OSX}
993+
DEPLOYMENT_VERSION_IOS ${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_IOS}
994+
DEPLOYMENT_VERSION_TVOS ${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_TVOS}
995+
DEPLOYMENT_VERSION_WATCHOS ${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_WATCHOS}
993996
MACCATALYST_BUILD_FLAVOR "${SWIFTLIB_SINGLE_MACCATALYST_BUILD_FLAVOR}"
994997
${BOOTSTRAPPING_arg})
995998
add_swift_source_group("${SWIFTLIB_SINGLE_EXTERNAL_SOURCES}")

stdlib/cmake/modules/SwiftSource.cmake

Lines changed: 18 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;ONLY_SWIFTMODULE"
53-
"SDK;ARCHITECTURE;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
53+
"SDK;ARCHITECTURE;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;DEPLOYMENT_VERSION_IOS;DEPLOYMENT_VERSION_TVOS;DEPLOYMENT_VERSION_WATCHOS;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
5454
"DEPENDS;COMPILE_FLAGS;MODULE_NAME;MODULE_DIR;ENABLE_LTO"
5555
${ARGN})
5656
translate_flag(${SWIFTSOURCES_IS_MAIN} "IS_MAIN" IS_MAIN_arg)
@@ -159,6 +159,9 @@ function(handle_swift_sources
159159
${ONLY_SWIFTMODULE_arg}
160160
INSTALL_IN_COMPONENT "${SWIFTSOURCES_INSTALL_IN_COMPONENT}"
161161
DEPLOYMENT_VERSION_OSX ${SWIFTSOURCES_DEPLOYMENT_VERSION_OSX}
162+
DEPLOYMENT_VERSION_IOS ${SWIFTSOURCES_DEPLOYMENT_VERSION_IOS}
163+
DEPLOYMENT_VERSION_TVOS ${SWIFTSOURCES_DEPLOYMENT_VERSION_TVOS}
164+
DEPLOYMENT_VERSION_WATCHOS ${SWIFTSOURCES_DEPLOYMENT_VERSION_WATCHOS}
162165
MACCATALYST_BUILD_FLAVOR "${SWIFTSOURCES_MACCATALYST_BUILD_FLAVOR}")
163166
set("${dependency_target_out_var_name}" "${dependency_target}" PARENT_SCOPE)
164167
set("${dependency_module_target_out_var_name}" "${module_dependency_target}" PARENT_SCOPE)
@@ -226,7 +229,7 @@ function(_add_target_variant_swift_compile_flags
226229
cmake_parse_arguments(
227230
VARIANT # prefix
228231
"" # options
229-
"MACCATALYST_BUILD_FLAVOR;DEPLOYMENT_VERSION_OSX" # single-value args
232+
"MACCATALYST_BUILD_FLAVOR;DEPLOYMENT_VERSION_OSX;DEPLOYMENT_VERSION_IOS;DEPLOYMENT_VERSION_TVOS;DEPLOYMENT_VERSION_WATCHOS" # single-value args
230233
"" # multi-value args
231234
${ARGN})
232235

@@ -240,6 +243,15 @@ function(_add_target_variant_swift_compile_flags
240243
if("${sdk}" STREQUAL "OSX" AND DEFINED VARIANT_DEPLOYMENT_VERSION_OSX)
241244
set(sdk_deployment_version ${VARIANT_DEPLOYMENT_VERSION_OSX})
242245
endif()
246+
if("${sdk}" STREQUAL "IOS" AND DEFINED VARIANT_DEPLOYMENT_VERSION_IOS)
247+
set(sdk_deployment_version ${VARIANT_DEPLOYMENT_VERSION_IOS})
248+
endif()
249+
if("${sdk}" STREQUAL "TVOS" AND DEFINED VARIANT_DEPLOYMENT_VERSION_TVOS)
250+
set(sdk_deployment_version ${VARIANT_DEPLOYMENT_VERSION_TVOS})
251+
endif()
252+
if("${sdk}" STREQUAL "WATCHOS" AND DEFINED VARIANT_DEPLOYMENT_VERSION_WATCHOS)
253+
set(sdk_deployment_version ${VARIANT_DEPLOYMENT_VERSION_WATCHOS})
254+
endif()
243255

244256
get_target_triple(target target_variant "${sdk}" "${arch}"
245257
MACCATALYST_BUILD_FLAVOR "${VARIANT_MACCATALYST_BUILD_FLAVOR}"
@@ -387,7 +399,7 @@ function(_compile_swift_files
387399
dependency_sibgen_target_out_var_name)
388400
cmake_parse_arguments(SWIFTFILE
389401
"IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;IS_FRAGILE;ONLY_SWIFTMODULE"
390-
"OUTPUT;MODULE_NAME;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
402+
"OUTPUT;MODULE_NAME;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;DEPLOYMENT_VERSION_IOS;DEPLOYMENT_VERSION_TVOS;DEPLOYMENT_VERSION_WATCHOS;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
391403
"SOURCES;FLAGS;DEPENDS;SDK;ARCHITECTURE;OPT_FLAGS;MODULE_DIR"
392404
${ARGN})
393405

@@ -461,6 +473,9 @@ function(_compile_swift_files
461473
"${SWIFT_STDLIB_ASSERTIONS}"
462474
swift_flags
463475
DEPLOYMENT_VERSION_OSX ${SWIFTFILE_DEPLOYMENT_VERSION_OSX}
476+
DEPLOYMENT_VERSION_IOS ${SWIFTFILE_DEPLOYMENT_VERSION_IOS}
477+
DEPLOYMENT_VERSION_TVOS ${SWIFTFILE_DEPLOYMENT_VERSION_TVOS}
478+
DEPLOYMENT_VERSION_WATCHOS ${SWIFTFILE_DEPLOYMENT_VERSION_WATCHOS}
464479
MACCATALYST_BUILD_FLAVOR "${maccatalyst_build_flavor}"
465480
)
466481

0 commit comments

Comments
 (0)