@@ -57,6 +57,7 @@ include(ResourceEmbedding)
57
57
include ("${${PROJECT_NAME} _VENDOR_MODULE_DIR}/Settings.cmake" OPTIONAL )
58
58
59
59
defaulted_option (SwiftOverlay_ENABLE_REFLECTION "Enable runtime support for mirrors and reflection support" )
60
+ defaulted_option (SwiftOverlay_ENABLE_CXX_INTEROP "Enable C++ Interop support overlays" )
60
61
61
62
option (SwiftOverlay_INSTALL_NESTED_SUBDIR "Install libraries under a platform and architecture subdirectory" ON )
62
63
set (SwiftOverlay_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR} /swift$<$<NOT:$<BOOL:${BUILD_SHARED_LIBS} >>:_static>$<$<BOOL:${SwiftOverlay_INSTALL_NESTED_SUBDIR} >:/${SwiftOverlay_PLATFORM_SUBDIR} /${SwiftOverlay_ARCH_SUBDIR} >" )
@@ -67,16 +68,23 @@ option(SwiftOverlay_ENABLE_LIBRARY_EVOLUTION "Generate ABI resilient runtime lib
67
68
option (SwiftOverlay_ENABLE_BACKDEPLOYMENT_SUPPORT "Add symbols for runtime backdeployment"
68
69
${SwiftCore_ENABLE_BACKDEPLOYMENT_SUPPORT} )
69
70
71
+ add_compile_definitions (
72
+ $< $< BOOL:${SwiftOverlay_ENABLE_BACKDEPLOYMENT_SUPPORT} > :SWIFT_STDLIB_SUPPORT_BACK_DEPLOYMENT> )
73
+
70
74
add_compile_options (
71
75
$< $< COMPILE_LANGUAGE:Swift> :-explicit-module-build>
72
76
$< $< COMPILE_LANGUAGE:Swift> :-nostdlibimport>
73
- "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enforce-exclusivity=unchecked>"
74
- "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -target-min-inlining-version -Xfrontend min>"
77
+ $< $< COMPILE_LANGUAGE:Swift> :-strict-memory-safety>
75
78
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-lexical-lifetimes=false>"
76
- "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-ossa-modules>"
77
- "$<$<AND:$<BOOL:${SwiftOverlay_ENABLE_LIBRARY_EVOLUTION} >,$<COMPILE_LANGUAGE:Swift>>:-enable-library-evolution>"
78
79
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-concurrency-module-import>"
79
- "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-string-processing-module-import>" )
80
+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-string-processing-module-import>"
81
+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enforce-exclusivity=unchecked>"
82
+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-ossa-modules>"
83
+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -target-min-inlining-version -Xfrontend min>"
84
+ "$<$<AND:$<BOOL:${${PROJECT_NAME} _ENABLE_LIBRARY_EVOLUTION}>,$<COMPILE_LANGUAGE:Swift>>:-enable-library-evolution>"
85
+ "$<$<AND:$<BOOL:${${PROJECT_NAME} _ENABLE_PRESPECIALIZATION}>,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xfrontend -prespecialize-generic-metadata>" )
86
+
87
+ include (ExperimentalFeatures )
80
88
81
89
# LNK4049: symbol 'symbol' defined in 'filename.obj' is imported
82
90
# LNK4286: symbol 'symbol' defined in 'filename_1.obj' is imported by 'filename_2.obj'
@@ -87,9 +95,6 @@ add_compile_options(
87
95
# a compromise, treat all linker warnings as errors.
88
96
add_link_options ($< $< PLATFORM_ID:Windows> :LINKER:/WX> )
89
97
90
- add_compile_definitions (
91
- $< $< BOOL:${SwiftOverlay_ENABLE_BACKDEPLOYMENT_SUPPORT} > :SWIFT_STDLIB_SUPPORT_BACK_DEPLOYMENT> )
92
-
93
98
include (ExperimentalFeatures )
94
99
95
100
add_subdirectory (clang )
@@ -100,6 +105,10 @@ if(WIN32)
100
105
add_subdirectory (Windows )
101
106
endif ()
102
107
108
+ if (SwiftOverlay_ENABLE_CXX_INTEROP )
109
+ add_subdirectory (Cxx )
110
+ endif ()
111
+
103
112
# Inter-project install info
104
113
export (EXPORT SwiftOverlayTargets
105
114
FILE "cmake/SwiftOverlay/SwiftOverlayTargets.cmake" )
0 commit comments