Skip to content

Commit 0924c36

Browse files
committed
build: enable control over the C++ interop modules
Treat the C++ interop modules similar to the Concurrency and StringProcessing modules, enabled through a top-level global flag. The flag now enables disabling the C++ interop modules when the standard library is built. Based on the original work by Egor Zhdan!
1 parent 0c0ec72 commit 0924c36

File tree

4 files changed

+10
-1
lines changed

4 files changed

+10
-1
lines changed

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,10 @@ option(SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY
605605
"Enable build of the Swift concurrency module"
606606
FALSE)
607607

608+
option(SWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP
609+
"Enable experimental C++ interop modules"
610+
FALSE)
611+
608612
option(SWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED
609613
"Enable experimental distributed actors and functions"
610614
FALSE)

stdlib/public/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ endif()
6565

6666
add_subdirectory(SwiftShims/swift/shims)
6767
add_subdirectory(CommandLineSupport)
68-
add_subdirectory(Cxx)
68+
if(SWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP)
69+
add_subdirectory(Cxx)
70+
endif()
6971
add_subdirectory(Threading)
7072

7173
# This static library is shared across swiftCore and swiftRemoteInspection

utils/build-windows-toolchain.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ cmake ^
212212
-D LLVM_VERSION_SUFFIX="" ^
213213

214214
-D SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY=YES ^
215+
-D SWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP=YES ^
215216
-D SWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED=YES ^
216217
-D SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING=YES ^
217218
-D SWIFT_ENABLE_EXPERIMENTAL_STRING_PROCESSING=YES ^
@@ -254,6 +255,7 @@ cmake ^
254255
-D SWIFT_PATH_TO_STRING_PROCESSING_SOURCE=%SourceRoot%\swift-experimental-string-processing ^
255256

256257
-D SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY=YES ^
258+
-D SWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP=YES ^
257259
-D SWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED=YES ^
258260
-D SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING=YES ^
259261
-D SWIFT_ENABLE_EXPERIMENTAL_STRING_PROCESSING=YES ^

utils/build-windows.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ cmake^
262262
-DSWIFT_BUILD_SOURCEKIT:BOOL=YES^
263263
-DSWIFT_ENABLE_SOURCEKIT_TESTS:BOOL=YES^
264264
-DSWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY=YES^
265+
-DSWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP=YES^
265266
-DSWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED=YES^
266267
-DSWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING=YES^
267268
-DSWIFT_ENABLE_EXPERIMENTAL_STRING_PROCESSING=YES^

0 commit comments

Comments
 (0)