diff --git a/stdlib/cmake/modules/AddSwiftStdlib.cmake b/stdlib/cmake/modules/AddSwiftStdlib.cmake index 8d04aebb89a19..5d417af3b9c42 100644 --- a/stdlib/cmake/modules/AddSwiftStdlib.cmake +++ b/stdlib/cmake/modules/AddSwiftStdlib.cmake @@ -989,6 +989,7 @@ function(add_swift_target_library_single target name) ${SWIFTLIB_SINGLE_NO_LINK_NAME_keyword} ENABLE_LTO "${SWIFTLIB_SINGLE_ENABLE_LTO}" INSTALL_IN_COMPONENT "${install_in_component}" + DEPLOYMENT_VERSION_OSX ${SWIFTLIB_SINGLE_DEPLOYMENT_VERSION_OSX} MACCATALYST_BUILD_FLAVOR "${SWIFTLIB_SINGLE_MACCATALYST_BUILD_FLAVOR}" ${BOOTSTRAPPING_arg}) add_swift_source_group("${SWIFTLIB_SINGLE_EXTERNAL_SOURCES}") diff --git a/stdlib/cmake/modules/SwiftSource.cmake b/stdlib/cmake/modules/SwiftSource.cmake index ce69c796e21ba..5a05a694fb54d 100644 --- a/stdlib/cmake/modules/SwiftSource.cmake +++ b/stdlib/cmake/modules/SwiftSource.cmake @@ -50,7 +50,7 @@ function(handle_swift_sources sourcesvar externalvar name) cmake_parse_arguments(SWIFTSOURCES "IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;NO_LINK_NAME;IS_FRAGILE;ONLY_SWIFTMODULE" - "SDK;ARCHITECTURE;INSTALL_IN_COMPONENT;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING" + "SDK;ARCHITECTURE;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING" "DEPENDS;COMPILE_FLAGS;MODULE_NAME;MODULE_DIR;ENABLE_LTO" ${ARGN}) translate_flag(${SWIFTSOURCES_IS_MAIN} "IS_MAIN" IS_MAIN_arg) @@ -158,6 +158,7 @@ function(handle_swift_sources ${IS_FRAGILE_arg} ${ONLY_SWIFTMODULE_arg} INSTALL_IN_COMPONENT "${SWIFTSOURCES_INSTALL_IN_COMPONENT}" + DEPLOYMENT_VERSION_OSX ${SWIFTSOURCES_DEPLOYMENT_VERSION_OSX} MACCATALYST_BUILD_FLAVOR "${SWIFTSOURCES_MACCATALYST_BUILD_FLAVOR}") set("${dependency_target_out_var_name}" "${dependency_target}" PARENT_SCOPE) set("${dependency_module_target_out_var_name}" "${module_dependency_target}" PARENT_SCOPE) @@ -225,7 +226,7 @@ function(_add_target_variant_swift_compile_flags cmake_parse_arguments( VARIANT # prefix "" # options - "MACCATALYST_BUILD_FLAVOR" # single-value args + "MACCATALYST_BUILD_FLAVOR;DEPLOYMENT_VERSION_OSX" # single-value args "" # multi-value args ${ARGN}) @@ -236,6 +237,10 @@ function(_add_target_variant_swift_compile_flags if("${sdk}" IN_LIST SWIFT_DARWIN_PLATFORMS) set(sdk_deployment_version "${SWIFT_SDK_${sdk}_DEPLOYMENT_VERSION}") + if("${sdk}" STREQUAL "OSX" AND DEFINED VARIANT_DEPLOYMENT_VERSION_OSX) + set(sdk_deployment_version ${VARIANT_DEPLOYMENT_VERSION_OSX}) + endif() + get_target_triple(target target_variant "${sdk}" "${arch}" MACCATALYST_BUILD_FLAVOR "${VARIANT_MACCATALYST_BUILD_FLAVOR}" DEPLOYMENT_VERSION "${sdk_deployment_version}") @@ -382,7 +387,7 @@ function(_compile_swift_files dependency_sibgen_target_out_var_name) cmake_parse_arguments(SWIFTFILE "IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;IS_FRAGILE;ONLY_SWIFTMODULE" - "OUTPUT;MODULE_NAME;INSTALL_IN_COMPONENT;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING" + "OUTPUT;MODULE_NAME;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING" "SOURCES;FLAGS;DEPENDS;SDK;ARCHITECTURE;OPT_FLAGS;MODULE_DIR" ${ARGN}) @@ -455,6 +460,7 @@ function(_compile_swift_files "${SWIFT_STDLIB_BUILD_TYPE}" "${SWIFT_STDLIB_ASSERTIONS}" swift_flags + DEPLOYMENT_VERSION_OSX ${SWIFTFILE_DEPLOYMENT_VERSION_OSX} MACCATALYST_BUILD_FLAVOR "${maccatalyst_build_flavor}" ) diff --git a/stdlib/public/Cxx/CMakeLists.txt b/stdlib/public/Cxx/CMakeLists.txt index 9e09af714e6d7..ecef42cbca6af 100644 --- a/stdlib/public/Cxx/CMakeLists.txt +++ b/stdlib/public/Cxx/CMakeLists.txt @@ -24,6 +24,8 @@ add_swift_target_library(swiftCxx STATIC NO_LINK_NAME IS_STDLIB IS_SWIFT_ONLY IS # For functionality that depends on the C++ stdlib, use C++ stdlib overlay (`swiftstd` module). -Xcc -nostdinc++ + DEPLOYMENT_VERSION_OSX ${COMPATIBILITY_MINIMUM_DEPLOYMENT_VERSION_OSX} + LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}" DEPENDS ${SWIFT_CXX_DEPS} INSTALL_IN_COMPONENT compiler diff --git a/stdlib/public/Cxx/std/CMakeLists.txt b/stdlib/public/Cxx/std/CMakeLists.txt index d10bbae76411c..bb790a92432ed 100644 --- a/stdlib/public/Cxx/std/CMakeLists.txt +++ b/stdlib/public/Cxx/std/CMakeLists.txt @@ -51,6 +51,8 @@ add_swift_target_library(swiftCxxStdlib STATIC NO_LINK_NAME IS_STDLIB IS_SWIFT_O SWIFT_COMPILE_FLAGS_LINUX ${SWIFT_SDK_LINUX_CXX_OVERLAY_SWIFT_COMPILE_FLAGS} + DEPLOYMENT_VERSION_OSX ${COMPATIBILITY_MINIMUM_DEPLOYMENT_VERSION_OSX} + LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}" TARGET_SDKS ALL_APPLE_PLATFORMS LINUX WINDOWS INSTALL_IN_COMPONENT compiler