Skip to content

Commit 139c4e0

Browse files
committed
Add support for linking SwiftSwiftDirectRuntime in Overlay build system
Addresses rdar://164174616
1 parent 228aecd commit 139c4e0

File tree

4 files changed

+10
-0
lines changed

4 files changed

+10
-0
lines changed

Runtimes/Overlay/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ option(SwiftOverlay_ENABLE_LIBRARY_EVOLUTION "Generate ABI resilient runtime lib
5959
${SwiftCore_ENABLE_LIBRARY_EVOLUTION})
6060
option(SwiftOverlay_ENABLE_BACKDEPLOYMENT_SUPPORT "Add symbols for runtime backdeployment"
6161
${SwiftCore_ENABLE_BACKDEPLOYMENT_SUPPORT})
62+
option(${PROJECT_NAME}_ENABLE_DIRECT_RETAIN_RELEASE "Use direct retain release in overlays"
63+
${SwiftCore_ENABLE_DIRECT_RETAIN_RELEASE})
6264

6365
add_compile_definitions(
6466
$<$<BOOL:${SwiftOverlay_ENABLE_BACKDEPLOYMENT_SUPPORT}>:SWIFT_STDLIB_SUPPORT_BACK_DEPLOYMENT>)
@@ -74,6 +76,11 @@ add_compile_options(
7476
"$<$<AND:$<BOOL:${${PROJECT_NAME}_ENABLE_LIBRARY_EVOLUTION}>,$<COMPILE_LANGUAGE:Swift>>:-enable-library-evolution>"
7577
"$<$<AND:$<BOOL:${${PROJECT_NAME}_ENABLE_PRESPECIALIZATION}>,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xfrontend -prespecialize-generic-metadata>")
7678

79+
if(${PROJECT_NAME}_ENABLE_DIRECT_RETAIN_RELEASE)
80+
find_package(SwiftSwiftDirectRuntime REQUIRED)
81+
add_compile_options("$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-direct-retain-release>")
82+
endif()
83+
7784
include(ExperimentalFeatures)
7885

7986
# LNK4049: symbol 'symbol' defined in 'filename.obj' is imported

Runtimes/Overlay/Cxx/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ target_compile_options(swiftCxx PRIVATE
3636
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature BuiltinModule>"
3737
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature Lifetimes>")
3838
target_link_libraries(swiftCxx PRIVATE
39+
$<$<BOOL:${SwiftSwiftDirectRuntime_FOUND}>:swiftSwiftDirectRuntime>
3940
swiftCore)
4041

4142
install(TARGETS swiftCxx

Runtimes/Overlay/Cxx/std/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ target_compile_options(swiftCxxStdlib PRIVATE
2525
target_link_libraries(swiftCxxStdlib PRIVATE
2626
$<$<BOOL:${HAVE___GLIBCXX__}>:libstdcxx>
2727
$<$<NOT:$<PLATFORM_ID:Darwin>>:cxxshim>
28+
$<$<BOOL:${SwiftSwiftDirectRuntime_FOUND}>:swiftSwiftDirectRuntime>
2829
swiftCxx
2930
swiftCore
3031
swift_Builtin_float

Runtimes/Overlay/clang/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ target_compile_options(swift_Builtin_float PRIVATE
1212
$<$<COMPILE_LANGUAGE:Swift>:-autolink-force-load>)
1313
target_link_libraries(swift_Builtin_float PRIVATE
1414
$<$<PLATFORM_ID:Windows>:ClangModules>
15+
$<$<BOOL:${SwiftSwiftDirectRuntime_FOUND}>:swiftSwiftDirectRuntime>
1516
swiftCore)
1617

1718
install(TARGETS swift_Builtin_float

0 commit comments

Comments
 (0)