Add support for linking SwiftSwiftDirectRuntime in Overlay build system

Addresses rdar://164174616
This commit is contained in:
Eric Miotto
2025-11-10 12:22:10 -08:00
parent 57908cd4e7
commit b1f7f81c4e
4 changed files with 10 additions and 0 deletions

View File

@@ -59,6 +59,8 @@ option(SwiftOverlay_ENABLE_LIBRARY_EVOLUTION "Generate ABI resilient runtime lib
${SwiftCore_ENABLE_LIBRARY_EVOLUTION})
option(SwiftOverlay_ENABLE_BACKDEPLOYMENT_SUPPORT "Add symbols for runtime backdeployment"
${SwiftCore_ENABLE_BACKDEPLOYMENT_SUPPORT})
option(${PROJECT_NAME}_ENABLE_DIRECT_RETAIN_RELEASE "Use direct retain release in overlays"
${SwiftCore_ENABLE_DIRECT_RETAIN_RELEASE})
add_compile_definitions(
$<$<BOOL:${SwiftOverlay_ENABLE_BACKDEPLOYMENT_SUPPORT}>:SWIFT_STDLIB_SUPPORT_BACK_DEPLOYMENT>)
@@ -74,6 +76,11 @@ add_compile_options(
"$<$<AND:$<BOOL:${${PROJECT_NAME}_ENABLE_LIBRARY_EVOLUTION}>,$<COMPILE_LANGUAGE:Swift>>:-enable-library-evolution>"
"$<$<AND:$<BOOL:${${PROJECT_NAME}_ENABLE_PRESPECIALIZATION}>,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xfrontend -prespecialize-generic-metadata>")
if(${PROJECT_NAME}_ENABLE_DIRECT_RETAIN_RELEASE)
find_package(SwiftSwiftDirectRuntime REQUIRED)
add_compile_options("$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-direct-retain-release>")
endif()
include(ExperimentalFeatures)
# LNK4049: symbol 'symbol' defined in 'filename.obj' is imported

View File

@@ -36,6 +36,7 @@ target_compile_options(swiftCxx PRIVATE
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature BuiltinModule>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature Lifetimes>")
target_link_libraries(swiftCxx PRIVATE
$<$<BOOL:${SwiftSwiftDirectRuntime_FOUND}>:swiftSwiftDirectRuntime>
swiftCore)
install(TARGETS swiftCxx

View File

@@ -25,6 +25,7 @@ target_compile_options(swiftCxxStdlib PRIVATE
target_link_libraries(swiftCxxStdlib PRIVATE
$<$<BOOL:${HAVE___GLIBCXX__}>:libstdcxx>
$<$<NOT:$<PLATFORM_ID:Darwin>>:cxxshim>
$<$<BOOL:${SwiftSwiftDirectRuntime_FOUND}>:swiftSwiftDirectRuntime>
swiftCxx
swiftCore
swift_Builtin_float

View File

@@ -12,6 +12,7 @@ target_compile_options(swift_Builtin_float PRIVATE
$<$<COMPILE_LANGUAGE:Swift>:-autolink-force-load>)
target_link_libraries(swift_Builtin_float PRIVATE
$<$<PLATFORM_ID:Windows>:ClangModules>
$<$<BOOL:${SwiftSwiftDirectRuntime_FOUND}>:swiftSwiftDirectRuntime>
swiftCore)
install(TARGETS swift_Builtin_float