File tree Expand file tree Collapse file tree 3 files changed +38
-7
lines changed Expand file tree Collapse file tree 3 files changed +38
-7
lines changed Original file line number Diff line number Diff line change 11
22include (AddSwift)
33include (SwiftSource)
4+ include (CompatibilityLibs)
45
56function (add_dependencies_multiple_targets)
67 cmake_parse_arguments (
@@ -2798,6 +2799,15 @@ function(_add_swift_target_executable_single name)
27982799 ${SWIFTEXE_SINGLE_SOURCES}
27992800 ${SWIFTEXE_SINGLE_EXTERNAL_SOURCES} )
28002801
2802+ # Darwin may need the compatibility libraries
2803+ set (compatibility_libs)
2804+ if (SWIFTEXE_SINGLE_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
2805+ get_compatibility_libs(
2806+ "${SWIFTEXE_SINGLE_SDK} "
2807+ "${SWIFTEXE_SINGLE_ARCHITECTURE} "
2808+ compatibility_libs)
2809+ endif ()
2810+
28012811 # ELF and COFF need swiftrt
28022812 if (("${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK} _OBJECT_FORMAT}" STREQUAL "ELF" OR
28032813 "${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK} _OBJECT_FORMAT}" STREQUAL "COFF" )
@@ -2811,6 +2821,7 @@ function(_add_swift_target_executable_single name)
28112821 TARGETS "${name} "
28122822 DEPENDS
28132823 ${dependency_target}
2824+ ${compatibility_libs}
28142825 ${LLVM_COMMON_DEPENDS}
28152826 ${SWIFTEXE_SINGLE_DEPENDS} )
28162827 llvm_update_compile_flags("${name} " )
Original file line number Diff line number Diff line change 1+ # Generate a list of the compatibility library targets given an sdk and
2+ # architecture.
3+ function (get_compatibility_libs sdk arch result_var_name)
4+ set (compatibility_libs)
5+
6+ if (SWIFT_STDLIB_SUPPORT_BACK_DEPLOYMENT)
7+ set (vsuffix "-${SWIFT_SDK_${sdk} _LIB_SUBDIR}-${arch} " )
8+
9+ list (APPEND compatibility_libs
10+ swiftCompatibilityConcurrency${vsuffix}
11+ swiftCompatibilityDynamicReplacements${vsuffix}
12+ swiftCompatibilityPacks${vsuffix}
13+ swiftCompatibility50${vsuffix}
14+ swiftCompatibility51${vsuffix}
15+ swiftCompatibility56${vsuffix} )
16+ endif ()
17+
18+ set ("${result_var_name} " "${compatibility_libs} " PARENT_SCOPE)
19+ endfunction ()
Original file line number Diff line number Diff line change 33list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR} /../cmake/modules)
44include (StdlibOptions)
55include (AddSwiftStdlib)
6+ include (CompatibilityLibs)
67
78set (CXX_COMPILE_FLAGS)
89set (CXX_LINK_FLAGS)
@@ -58,13 +59,13 @@ if(SWIFT_STDLIB_SUPPORT_BACK_DEPLOYMENT)
5859 # of all the compatibility libraries needed to build
5960 # host tools in a single place
6061 add_library (HostCompatibilityLibs INTERFACE )
61- set (vsuffix "-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _LIB_SUBDIR}-${SWIFT_HOST_VARIANT_ARCH} " )
62+ get_compatibility_libs(
63+ "${SWIFT_HOST_VARIANT_SDK} "
64+ "${SWIFT_HOST_VARIANT_ARCH} "
65+ compatibility_libs
66+ )
6267 target_link_libraries (HostCompatibilityLibs INTERFACE
63- swiftCompatibilityConcurrency${vsuffix}
64- swiftCompatibilityDynamicReplacements${vsuffix}
65- swiftCompatibilityPacks${vsuffix}
66- swiftCompatibility50${vsuffix}
67- swiftCompatibility51${vsuffix}
68- swiftCompatibility56${vsuffix} )
68+ ${compatibility_libs}
69+ )
6970 set_property (GLOBAL APPEND PROPERTY SWIFT_BUILDTREE_EXPORTS HostCompatibilityLibs)
7071endif ()
You can’t perform that action at this time.
0 commit comments