Skip to content

Commit 6cc9a7d

Browse files
committed
CMake: Runtimes: Specify language mode explicitly.
The compiler will soon require that any module with a `.swiftinterface` be built with an explicit language mode specified on the command line. This prevents misinterpretation of the `.swiftinterface` when building it for clients that aren't building with the default language mode. Add explicit `-swift-version` arguments to the builds of various Runtimes libraries to comply with this new requirement.
1 parent 2b6ea81 commit 6cc9a7d

File tree

8 files changed

+8
-0
lines changed

8 files changed

+8
-0
lines changed

Runtimes/Core/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ add_link_options($<$<PLATFORM_ID:Linux>:LINKER:-z,defs>)
181181
add_compile_options(
182182
$<$<COMPILE_LANGUAGE:Swift>:-explicit-module-build>
183183
"$<$<COMPILE_LANGUAGE:Swift>:-nostdlibimport>"
184+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-swift-version 5>"
184185
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-library-level api>"
185186
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-runtime-compatibility-version none>"
186187
"$<$<COMPILE_LANGUAGE:Swift>:-disable-autolinking-runtime-compatibility-dynamic-replacements>"

Runtimes/Overlay/Cxx/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ target_compile_options(swiftCxx PRIVATE
3131
# This module should not pull in the C++ standard library, so we disable it
3232
# explicitly. For functionality that depends on the C++ stdlib, use C++
3333
# stdlib overlay (`swiftstd` module).
34+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-swift-version 5>"
3435
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xcc -nostdinc++>"
3536
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature AllowUnsafeAttribute>"
3637
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature BuiltinModule>"

Runtimes/Supplemental/Differentiation/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ add_compile_options(
6666
$<$<COMPILE_LANGUAGE:Swift>:-explicit-module-build>
6767
$<$<COMPILE_LANGUAGE:Swift>:-nostdlibimport>
6868
$<$<COMPILE_LANGUAGE:Swift>:-parse-stdlib>
69+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-swift-version 5>"
6970
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-library-level api>"
7071
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature NoncopyableGenerics2>"
7172
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature SuppressedAssociatedTypes>"

Runtimes/Supplemental/Distributed/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ add_compile_options(
7575
$<$<COMPILE_LANGUAGE:Swift>:-explicit-module-build>
7676
$<$<COMPILE_LANGUAGE:Swift>:-nostdlibimport>
7777
$<$<COMPILE_LANGUAGE:Swift>:-strict-memory-safety>
78+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-swift-version 5>"
7879
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature NoncopyableGenerics2>"
7980
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature SuppressedAssociatedTypes>"
8081
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature SE427NoInferenceOnExtension>"

Runtimes/Supplemental/Observation/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ option(${PROJECT_NAME}_ENABLE_PRESPECIALIZATION "Enable generic metadata prespec
6666
add_compile_options(
6767
$<$<COMPILE_LANGUAGE:Swift>:-explicit-module-build>
6868
$<$<COMPILE_LANGUAGE:Swift>:-nostdlibimport>
69+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-swift-version 5>"
6970
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enforce-exclusivity=unchecked>"
7071
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -target-min-inlining-version -Xfrontend min>"
7172
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-string-processing-module-import>"

Runtimes/Supplemental/StringProcessing/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ option(${PROJECT_NAME}_ENABLE_PRESPECIALIZATION "Enable generic metadata prespec
5252
add_compile_options(
5353
$<$<COMPILE_LANGUAGE:Swift>:-explicit-module-build>
5454
$<$<COMPILE_LANGUAGE:Swift>:-nostdlibimport>
55+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-swift-version 5>"
5556
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-concurrency-module-import>"
5657
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-string-processing-module-import>"
5758
"$<$<COMPILE_LANGUAGE:Swift>:-warn-implicit-overrides>"

Runtimes/Supplemental/Synchronization/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ add_compile_options(
7171
$<$<COMPILE_LANGUAGE:Swift>:-nostdlibimport>
7272
$<$<COMPILE_LANGUAGE:Swift>:-enable-builtin-module>
7373
$<$<COMPILE_LANGUAGE:Swift>:-strict-memory-safety>
74+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-swift-version 5>"
7475
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature NoncopyableGenerics2>"
7576
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature SuppressedAssociatedTypes>"
7677
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature SE427NoInferenceOnExtension>"

Runtimes/Supplemental/Volatile/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ add_compile_options(
6666
$<$<COMPILE_LANGUAGE:Swift>:-explicit-module-build>
6767
$<$<COMPILE_LANGUAGE:Swift>:-nostdlibimport>
6868
$<$<COMPILE_LANGUAGE:Swift>:-strict-memory-safety>
69+
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-swift-version 5>"
6970
"$<$<AND:$<BOOL:${${PROJECT_NAME}_ENABLE_LIBRARY_EVOLUTION}>,$<COMPILE_LANGUAGE:Swift>>:-enable-library-evolution>"
7071
"$<$<AND:$<BOOL:${${PROJECT_NAME}_ENABLE_PRESPECIALIZATION}>,$<COMPILE_LANGUAGE:Swift>>:SHELL:-Xfrontend -prespecialize-generic-metadata>")
7172

0 commit comments

Comments
 (0)