···
1
+
Upstream PR: https://github.com/apple/swift/pull/65534
3
+
commit 112681f7f5927588569b225d926ca9f5f9ec98b3
4
+
Author: Stéphan Kochen <git@stephank.nl>
5
+
Date: Sat Apr 29 20:34:40 2023 +0200
7
+
build: fix accidental cmake expansions
9
+
As of CMake 3.25, there are now global variables `LINUX=1`, `ANDROID=1`,
10
+
etc. These conflict with expressions that used these names as unquoted
11
+
strings in positions where CMake accepts 'variable|string', for example:
13
+
- `if(sdk STREQUAL LINUX)` would fail, because `LINUX` is now defined and
14
+
expands to 1, where it would previously coerce to a string.
16
+
- `if(${sdk} STREQUAL "LINUX")` would fail if `sdk=LINUX`, because the
17
+
left-hand side expands twice.
19
+
In this patch, I looked for a number of patterns to fix up, sometimes a
22
+
- Quoted right-hand side of `STREQUAL` where I was confident it was
23
+
intended to be a string literal.
25
+
- Removed manual variable expansion on left-hand side of `STREQUAL`,
26
+
`MATCHES` and `IN_LIST` where I was confident it was unintended.
30
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
31
+
index eaab71fbaf0..45aa5d65dd3 100644
32
+
--- a/CMakeLists.txt
33
+
+++ b/CMakeLists.txt
34
+
@@ -119,7 +119,7 @@ else()
35
+
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64|amd64")
36
+
set(SWIFT_HOST_VARIANT_ARCH_default "x86_64")
37
+
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64|arm64")
38
+
- if(SWIFT_HOST_VARIANT_SDK_default STREQUAL OSX)
39
+
+ if(SWIFT_HOST_VARIANT_SDK_default STREQUAL "OSX")
40
+
set(SWIFT_HOST_VARIANT_ARCH_default "arm64")
42
+
set(SWIFT_HOST_VARIANT_ARCH_default "aarch64")
43
+
@@ -336,7 +336,7 @@ set(SWIFT_STDLIB_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
44
+
# - MultiThreadedDebug (/MTd)
45
+
# - MultiThreadedDLL (/MD)
46
+
# - MultiThreadedDebugDLL (/MDd)
47
+
-if(CMAKE_BUILD_TYPE STREQUAL Debug)
48
+
+if(CMAKE_BUILD_TYPE STREQUAL "Debug")
49
+
set(SWIFT_STDLIB_MSVC_RUNTIME_LIBRARY_default MultiThreadedDebugDLL)
51
+
set(SWIFT_STDLIB_MSVC_RUNTIME_LIBRARY_default MultiThreadedDLL)
52
+
@@ -598,7 +598,7 @@ if(SWIFT_BUILT_STANDALONE)
53
+
project(Swift C CXX ASM)
56
+
-if(MSVC OR "${CMAKE_SIMULATE_ID}" STREQUAL MSVC)
57
+
+if(MSVC OR "${CMAKE_SIMULATE_ID}" STREQUAL "MSVC")
58
+
include(ClangClCompileRules)
60
+
include(UnixCompileRules)
61
+
@@ -627,7 +627,7 @@ if(SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY AND "${SWIFT_CONCURRENCY_GLOBAL_EXECUTO
64
+
set(SWIFT_BUILD_HOST_DISPATCH FALSE)
65
+
-if(SWIFT_ENABLE_DISPATCH AND NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
66
+
+if(SWIFT_ENABLE_DISPATCH AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
67
+
# Only build libdispatch for the host if the host tools are being built and
68
+
# specifically if these two libraries that depend on it are built.
69
+
if(SWIFT_INCLUDE_TOOLS AND SWIFT_BUILD_SOURCEKIT)
70
+
@@ -801,11 +801,11 @@ endif()
71
+
# build environment.
73
+
set(SWIFT_USE_LINKER_default "${LLVM_USE_LINKER}")
74
+
-elseif(${SWIFT_HOST_VARIANT_SDK} STREQUAL ANDROID)
75
+
+elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID")
76
+
set(SWIFT_USE_LINKER_default "lld")
77
+
-elseif(CMAKE_SYSTEM_NAME STREQUAL Windows AND NOT CMAKE_HOST_SYSTEM_NAME STREQUAL Windows)
78
+
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
79
+
set(SWIFT_USE_LINKER_default "lld")
80
+
-elseif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
81
+
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
82
+
set(SWIFT_USE_LINKER_default "")
84
+
set(SWIFT_USE_LINKER_default "gold")
85
+
diff --git a/SwiftCompilerSources/CMakeLists.txt b/SwiftCompilerSources/CMakeLists.txt
86
+
index 225e72663a1..d14e0ccecac 100644
87
+
--- a/SwiftCompilerSources/CMakeLists.txt
88
+
+++ b/SwiftCompilerSources/CMakeLists.txt
89
+
@@ -80,7 +80,7 @@ function(add_swift_compiler_modules_library name)
90
+
list(APPEND swift_compile_options "-Xfrontend" "-disable-implicit-string-processing-module-import")
93
+
- if(CMAKE_BUILD_TYPE STREQUAL Debug)
94
+
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
95
+
list(APPEND swift_compile_options "-g")
97
+
list(APPEND swift_compile_options "-O" "-cross-module-optimization")
98
+
@@ -98,7 +98,7 @@ function(add_swift_compiler_modules_library name)
99
+
set(deployment_version "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_DEPLOYMENT_VERSION}")
100
+
set(sdk_path "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${SWIFT_HOST_VARIANT_ARCH}_PATH}")
101
+
set(sdk_option "-sdk" "${sdk_path}")
102
+
- if(${BOOTSTRAPPING_MODE} STREQUAL "CROSSCOMPILE-WITH-HOSTLIBS")
103
+
+ if(BOOTSTRAPPING_MODE STREQUAL "CROSSCOMPILE-WITH-HOSTLIBS")
104
+
# Let the cross-compiled compile don't pick up the compiled stdlib by providing
105
+
# an (almost) empty resource dir.
106
+
# The compiler will instead pick up the stdlib from the SDK.
107
+
@@ -117,7 +117,7 @@ function(add_swift_compiler_modules_library name)
108
+
message(ERROR "libc++ not found in the toolchain.")
111
+
- elseif(${BOOTSTRAPPING_MODE} STREQUAL "CROSSCOMPILE")
112
+
+ elseif(BOOTSTRAPPING_MODE STREQUAL "CROSSCOMPILE")
113
+
set(sdk_option "-sdk" "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${SWIFT_HOST_VARIANT_ARCH}_PATH}")
114
+
get_filename_component(swift_exec_bin_dir ${ALS_SWIFT_EXEC} DIRECTORY)
115
+
set(sdk_option ${sdk_option} "-resource-dir" "${swift_exec_bin_dir}/../lib/swift")
116
+
@@ -253,13 +253,13 @@ else()
117
+
add_dependencies(importedHeaderDependencies swift-ast-generated-headers)
118
+
target_include_directories(importedHeaderDependencies PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../include/swift")
120
+
- if(${BOOTSTRAPPING_MODE} MATCHES "HOSTTOOLS|CROSSCOMPILE")
121
+
+ if(BOOTSTRAPPING_MODE MATCHES "HOSTTOOLS|CROSSCOMPILE")
123
+
if (NOT SWIFT_EXEC_FOR_SWIFT_MODULES)
124
+
message(FATAL_ERROR "Need a swift toolchain building swift compiler sources")
127
+
- if(${BOOTSTRAPPING_MODE} STREQUAL "HOSTTOOLS")
128
+
+ if(BOOTSTRAPPING_MODE STREQUAL "HOSTTOOLS")
129
+
if(NOT SWIFT_EXEC_FOR_SWIFT_MODULES STREQUAL CMAKE_Swift_COMPILER)
130
+
message(FATAL_ERROR "The Swift compiler (${CMAKE_Swift_COMPILER}) differs from the Swift compiler in SWIFT_NATIVE_SWIFT_TOOLS_PATH (${SWIFT_NATIVE_SWIFT_TOOLS_PATH}/swiftc).")
132
+
@@ -275,11 +275,11 @@ else()
133
+
add_swift_compiler_modules_library(swiftCompilerModules
134
+
SWIFT_EXEC "${SWIFT_EXEC_FOR_SWIFT_MODULES}")
136
+
- elseif(${BOOTSTRAPPING_MODE} MATCHES "BOOTSTRAPPING.*")
137
+
+ elseif(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*")
139
+
set(b0_deps swift-frontend-bootstrapping0 symlink-headers-bootstrapping0)
140
+
set(b1_deps swift-frontend-bootstrapping1 symlink-headers-bootstrapping1)
141
+
- if(${BOOTSTRAPPING_MODE} STREQUAL "BOOTSTRAPPING")
142
+
+ if(BOOTSTRAPPING_MODE STREQUAL "BOOTSTRAPPING")
143
+
list(APPEND b0_deps swiftCore-bootstrapping0)
144
+
list(APPEND b1_deps swiftCore-bootstrapping1)
145
+
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
146
+
@@ -290,7 +290,7 @@ else()
147
+
list(APPEND b0_deps swiftDarwin-bootstrapping0)
148
+
list(APPEND b1_deps swiftDarwin-bootstrapping1)
150
+
- if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_LIBSTDCXX_PLATFORMS)
151
+
+ if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_LIBSTDCXX_PLATFORMS)
152
+
list(APPEND b0_deps copy-libstdcxx-modulemap-bootstrapping0 copy-libstdcxx-header-bootstrapping0)
153
+
list(APPEND b1_deps copy-libstdcxx-modulemap-bootstrapping1 copy-libstdcxx-header-bootstrapping1)
155
+
diff --git a/benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake b/benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake
156
+
index dd989efe618..3ed37754214 100644
157
+
--- a/benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake
158
+
+++ b/benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake
159
+
@@ -21,7 +21,7 @@ macro(configure_build)
160
+
# thus allowing the --host-cc build-script argument to work here.
161
+
get_filename_component(c_compiler ${CMAKE_C_COMPILER} NAME)
163
+
- if(${c_compiler} STREQUAL "clang")
164
+
+ if(c_compiler STREQUAL "clang")
165
+
set(CLANG_EXEC ${CMAKE_C_COMPILER})
167
+
if(NOT SWIFT_DARWIN_XCRUN_TOOLCHAIN)
168
+
@@ -713,7 +713,7 @@ function(swift_benchmark_compile)
170
+
if(NOT SWIFT_BENCHMARK_BUILT_STANDALONE)
171
+
set(stdlib_dependencies "swift-frontend" "swiftCore-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}")
172
+
- if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS)
173
+
+ if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
174
+
list(APPEND stdlib_dependencies "swiftDarwin-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}")
176
+
foreach(stdlib_dependency ${UNIVERSAL_LIBRARY_NAMES_${SWIFT_BENCHMARK_COMPILE_PLATFORM}})
177
+
diff --git a/cmake/modules/AddSwift.cmake b/cmake/modules/AddSwift.cmake
178
+
index 58c7eb1bd4f..96c4fe804f9 100644
179
+
--- a/cmake/modules/AddSwift.cmake
180
+
+++ b/cmake/modules/AddSwift.cmake
181
+
@@ -63,16 +63,16 @@ function(_set_target_prefix_and_suffix target kind sdk)
182
+
precondition(kind MESSAGE "kind is required")
183
+
precondition(sdk MESSAGE "sdk is required")
185
+
- if(${sdk} STREQUAL ANDROID)
186
+
- if(${kind} STREQUAL STATIC)
187
+
+ if(sdk STREQUAL "ANDROID")
188
+
+ if(kind STREQUAL "STATIC")
189
+
set_target_properties(${target} PROPERTIES PREFIX "lib" SUFFIX ".a")
190
+
- elseif(${kind} STREQUAL SHARED)
191
+
+ elseif(kind STREQUAL "SHARED")
192
+
set_target_properties(${target} PROPERTIES PREFIX "lib" SUFFIX ".so")
194
+
- elseif(${sdk} STREQUAL WINDOWS)
195
+
- if(${kind} STREQUAL STATIC)
196
+
+ elseif(sdk STREQUAL "WINDOWS")
197
+
+ if(kind STREQUAL "STATIC")
198
+
set_target_properties(${target} PROPERTIES PREFIX "" SUFFIX ".lib")
199
+
- elseif(${kind} STREQUAL SHARED)
200
+
+ elseif(kind STREQUAL "SHARED")
201
+
set_target_properties(${target} PROPERTIES PREFIX "" SUFFIX ".dll")
204
+
@@ -115,7 +115,7 @@ function(_add_host_variant_c_compile_link_flags name)
205
+
set(DEPLOYMENT_VERSION "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_DEPLOYMENT_VERSION}")
208
+
- if(SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID)
209
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID")
210
+
set(DEPLOYMENT_VERSION ${SWIFT_ANDROID_API_LEVEL})
213
+
@@ -151,7 +151,7 @@ function(_add_host_variant_c_compile_link_flags name)
214
+
target_compile_options(${name} PRIVATE $<$<COMPILE_LANGUAGE:C,CXX,OBJC,OBJCXX>:--sysroot=${_sysroot}>)
217
+
- if(SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID)
218
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID")
219
+
# Make sure the Android NDK lld is used.
220
+
swift_android_tools_path(${SWIFT_HOST_VARIANT_ARCH} tools_path)
221
+
target_compile_options(${name} PRIVATE $<$<COMPILE_LANGUAGE:C,CXX,OBJC,OBJCXX>:-B${tools_path}>)
222
+
@@ -223,7 +223,7 @@ function(_add_host_variant_c_compile_flags target)
226
+
- if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
227
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS")
228
+
# MSVC/clang-cl don't support -fno-pic or -fms-compatibility-version.
229
+
if(NOT SWIFT_COMPILER_IS_MSVC_LIKE)
230
+
target_compile_options(${target} PRIVATE
231
+
@@ -276,14 +276,14 @@ function(_add_host_variant_c_compile_flags target)
232
+
# NOTE(compnerd) workaround LLVM invoking `add_definitions(-D_DEBUG)` which
233
+
# causes failures for the runtime library when cross-compiling due to
234
+
# undefined symbols from the standard library.
235
+
- if(NOT CMAKE_BUILD_TYPE STREQUAL Debug)
236
+
+ if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
237
+
target_compile_options(${target} PRIVATE
238
+
$<$<COMPILE_LANGUAGE:C,CXX,OBJC,OBJCXX>:-U_DEBUG>)
242
+
- if(SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID)
243
+
- if(SWIFT_HOST_VARIANT_ARCH STREQUAL x86_64)
244
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID")
245
+
+ if(SWIFT_HOST_VARIANT_ARCH STREQUAL "x86_64")
246
+
# NOTE(compnerd) Android NDK 21 or lower will generate library calls to
247
+
# `__sync_val_compare_and_swap_16` rather than lowering to the CPU's
248
+
# `cmpxchg16b` instruction as the `cx16` feature is disabled due to a bug
249
+
@@ -317,15 +317,15 @@ function(_add_host_variant_c_compile_flags target)
250
+
$<$<COMPILE_LANGUAGE:C,CXX,OBJC,OBJCXX>:-fprofile-instr-generate -fcoverage-mapping>)
253
+
- if((SWIFT_HOST_VARIANT_ARCH STREQUAL armv7 OR
254
+
- SWIFT_HOST_VARIANT_ARCH STREQUAL aarch64) AND
255
+
- (SWIFT_HOST_VARIANT_SDK STREQUAL LINUX OR
256
+
- SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID))
257
+
+ if((SWIFT_HOST_VARIANT_ARCH STREQUAL "armv7" OR
258
+
+ SWIFT_HOST_VARIANT_ARCH STREQUAL "aarch64") AND
259
+
+ (SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX" OR
260
+
+ SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID"))
261
+
target_compile_options(${target} PRIVATE $<$<COMPILE_LANGUAGE:C,CXX,OBJC,OBJCXX>:-funwind-tables>)
264
+
if(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX")
265
+
- if(SWIFT_HOST_VARIANT_ARCH STREQUAL x86_64)
266
+
+ if(SWIFT_HOST_VARIANT_ARCH STREQUAL "x86_64")
267
+
# this is the minimum architecture that supports 16 byte CAS, which is
268
+
# necessary to avoid a dependency to libatomic
269
+
target_compile_options(${target} PRIVATE $<$<COMPILE_LANGUAGE:C,CXX,OBJC,OBJCXX>:-march=core2>)
270
+
@@ -336,7 +336,7 @@ function(_add_host_variant_c_compile_flags target)
271
+
# llvm/llvm-project@66395c9, which can cause incompatibilities with the Swift
272
+
# frontend if not built the same way.
273
+
if("${SWIFT_HOST_VARIANT_ARCH}" MATCHES "armv6|armv7|i686" AND
274
+
- NOT (SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID AND SWIFT_ANDROID_API_LEVEL LESS 24))
275
+
+ NOT (SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID" AND SWIFT_ANDROID_API_LEVEL LESS 24))
276
+
target_compile_definitions(${target} PRIVATE
277
+
$<$<COMPILE_LANGUAGE:C,CXX,OBJC,OBJCXX>:_LARGEFILE_SOURCE _FILE_OFFSET_BITS=64>)
279
+
@@ -345,19 +345,19 @@ endfunction()
280
+
function(_add_host_variant_link_flags target)
281
+
_add_host_variant_c_compile_link_flags(${target})
283
+
- if(SWIFT_HOST_VARIANT_SDK STREQUAL LINUX)
284
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX")
285
+
target_link_libraries(${target} PRIVATE
288
+
if("${SWIFT_HOST_VARIANT_ARCH}" MATCHES "armv5|armv6|armv7|i686")
289
+
target_link_libraries(${target} PRIVATE atomic)
291
+
- elseif(SWIFT_HOST_VARIANT_SDK STREQUAL FREEBSD)
292
+
+ elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "FREEBSD")
293
+
target_link_libraries(${target} PRIVATE
295
+
- elseif(SWIFT_HOST_VARIANT_SDK STREQUAL CYGWIN)
296
+
+ elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "CYGWIN")
297
+
# No extra libraries required.
298
+
- elseif(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
299
+
+ elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS")
300
+
# We don't need to add -nostdlib using MSVC or clang-cl, as MSVC and
301
+
# clang-cl rely on auto-linking entirely.
302
+
if(NOT SWIFT_COMPILER_IS_MSVC_LIKE)
303
+
@@ -375,12 +375,12 @@ function(_add_host_variant_link_flags target)
304
+
# the Windows SDK on case sensitive file systems.
305
+
target_link_directories(${target} PRIVATE
306
+
${CMAKE_BINARY_DIR}/winsdk_lib_${SWIFT_HOST_VARIANT_ARCH}_symlinks)
307
+
- elseif(SWIFT_HOST_VARIANT_SDK STREQUAL HAIKU)
308
+
+ elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "HAIKU")
309
+
target_link_libraries(${target} PRIVATE
311
+
target_link_options(${target} PRIVATE
312
+
"SHELL:-Xlinker -Bsymbolic")
313
+
- elseif(SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID)
314
+
+ elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID")
315
+
target_link_libraries(${target} PRIVATE
318
+
@@ -422,7 +422,7 @@ function(_add_host_variant_link_flags target)
320
+
# TODO: Evaluate/enable -f{function,data}-sections --gc-sections for bfd,
322
+
- if(NOT CMAKE_BUILD_TYPE STREQUAL Debug AND CMAKE_SYSTEM_NAME MATCHES Darwin)
323
+
+ if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_SYSTEM_NAME MATCHES Darwin)
324
+
if (NOT SWIFT_DISABLE_DEAD_STRIPPING)
325
+
# See rdar://48283130: This gives 6MB+ size reductions for swift and
326
+
# SourceKitService, and much larger size reductions for sil-opt etc.
327
+
@@ -446,7 +446,7 @@ function(_add_swift_runtime_link_flags target relpath_to_lib_dir bootstrapping)
328
+
# RPATH where Swift runtime can be found.
329
+
set(swift_runtime_rpath)
331
+
- if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS)
332
+
+ if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
334
+
set(sdk_dir "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${SWIFT_HOST_VARIANT_ARCH}_PATH}/usr/lib/swift")
336
+
@@ -529,7 +529,7 @@ function(_add_swift_runtime_link_flags target relpath_to_lib_dir bootstrapping)
338
+
elseif(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD")
339
+
set(swiftrt "swiftImageRegistrationObject${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_OBJECT_FORMAT}-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}-${SWIFT_HOST_VARIANT_ARCH}")
340
+
- if(${ASRLF_BOOTSTRAPPING_MODE} MATCHES "HOSTTOOLS|CROSSCOMPILE")
341
+
+ if(ASRLF_BOOTSTRAPPING_MODE MATCHES "HOSTTOOLS|CROSSCOMPILE")
342
+
# At build time and run time, link against the swift libraries in the
343
+
# installed host toolchain.
344
+
get_filename_component(swift_bin_dir ${SWIFT_EXEC_FOR_SWIFT_MODULES} DIRECTORY)
345
+
@@ -575,7 +575,7 @@ function(_add_swift_runtime_link_flags target relpath_to_lib_dir bootstrapping)
346
+
# able to fall back to the SDK directory for libswiftCore et al.
347
+
if (BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*")
348
+
if (NOT "${bootstrapping}" STREQUAL "1")
349
+
- if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS)
350
+
+ if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
351
+
target_link_directories(${target} PRIVATE "${sdk_dir}")
353
+
# Include the abi stable system stdlib in our rpath.
354
+
@@ -706,10 +706,10 @@ function(add_swift_host_library name)
355
+
if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
356
+
set_target_properties(${name} PROPERTIES
357
+
INSTALL_NAME_DIR "@rpath")
358
+
- elseif(SWIFT_HOST_VARIANT_SDK STREQUAL LINUX)
359
+
+ elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX")
360
+
set_target_properties(${name} PROPERTIES
361
+
INSTALL_RPATH "$ORIGIN")
362
+
- elseif(SWIFT_HOST_VARIANT_SDK STREQUAL CYGWIN)
363
+
+ elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "CYGWIN")
364
+
set_target_properties(${name} PROPERTIES
365
+
INSTALL_RPATH "$ORIGIN:/usr/lib/swift/cygwin")
366
+
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID")
367
+
@@ -731,18 +731,18 @@ function(add_swift_host_library name)
370
+
# Set compilation and link flags.
371
+
- if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
372
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS")
373
+
swift_windows_include_for_arch(${SWIFT_HOST_VARIANT_ARCH}
374
+
${SWIFT_HOST_VARIANT_ARCH}_INCLUDE)
375
+
target_include_directories(${name} SYSTEM PRIVATE
376
+
${${SWIFT_HOST_VARIANT_ARCH}_INCLUDE})
378
+
- if(libkind STREQUAL SHARED)
379
+
+ if(libkind STREQUAL "SHARED")
380
+
target_compile_definitions(${name} PRIVATE
384
+
- if(NOT ${CMAKE_C_COMPILER_ID} STREQUAL MSVC)
385
+
+ if(NOT CMAKE_C_COMPILER_ID STREQUAL "MSVC")
386
+
swift_windows_get_sdk_vfs_overlay(ASHL_VFS_OVERLAY)
387
+
# Both clang and clang-cl on Windows set CMAKE_C_SIMULATE_ID to MSVC.
388
+
# We are using CMAKE_C_COMPILER_FRONTEND_VARIANT to detect the correct
389
+
@@ -770,7 +770,7 @@ function(add_swift_host_library name)
391
+
set_target_properties(${name} PROPERTIES LINKER_LANGUAGE CXX)
393
+
- if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS)
394
+
+ if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
395
+
target_link_options(${name} PRIVATE
396
+
"LINKER:-compatibility_version,1")
397
+
if(SWIFT_COMPILER_VERSION)
398
+
@@ -856,7 +856,7 @@ function(add_swift_host_tool executable)
399
+
add_dependencies(${executable} ${LLVM_COMMON_DEPENDS})
402
+
- if(NOT ${ASHT_BOOTSTRAPPING} STREQUAL "")
403
+
+ if(NOT "${ASHT_BOOTSTRAPPING}" STREQUAL "")
404
+
# Strip the "-bootstrapping<n>" suffix from the target name to get the base
406
+
string(REGEX REPLACE "-bootstrapping.*" "" executable_filename ${executable})
407
+
@@ -891,7 +891,7 @@ function(add_swift_host_tool executable)
408
+
BINARY_DIR ${out_bin_dir}
409
+
LIBRARY_DIR ${out_lib_dir})
411
+
- if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
412
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS")
413
+
swift_windows_include_for_arch(${SWIFT_HOST_VARIANT_ARCH}
414
+
${SWIFT_HOST_VARIANT_ARCH}_INCLUDE)
415
+
target_include_directories(${executable} SYSTEM PRIVATE
416
+
@@ -913,8 +913,8 @@ function(add_swift_host_tool executable)
418
+
if(SWIFT_SWIFT_PARSER)
419
+
set(extra_relative_rpath "")
420
+
- if(NOT ${ASHT_BOOTSTRAPPING} STREQUAL "")
421
+
- if (${executable} MATCHES "-bootstrapping")
422
+
+ if(NOT "${ASHT_BOOTSTRAPPING}" STREQUAL "")
423
+
+ if(executable MATCHES "-bootstrapping")
424
+
set(extra_relative_rpath "../")
427
+
@@ -938,7 +938,7 @@ function(add_swift_host_tool executable)
428
+
target_link_options(${executable} PRIVATE "${lto_codegen_only_link_options}")
431
+
- if(NOT ${ASHT_SWIFT_COMPONENT} STREQUAL "no_component")
432
+
+ if(NOT ASHT_SWIFT_COMPONENT STREQUAL "no_component")
433
+
add_dependencies(${ASHT_SWIFT_COMPONENT} ${executable})
434
+
swift_install_in_component(TARGETS ${executable}
436
+
diff --git a/cmake/modules/Libdispatch.cmake b/cmake/modules/Libdispatch.cmake
437
+
index f0ea3577a2b..3fb0ecdce89 100644
438
+
--- a/cmake/modules/Libdispatch.cmake
439
+
+++ b/cmake/modules/Libdispatch.cmake
441
+
include(ExternalProject)
443
+
-if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
444
+
- if(CMAKE_C_COMPILER_ID STREQUAL Clang AND
445
+
+if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
446
+
+ if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND
447
+
CMAKE_C_COMPILER_VERSION VERSION_GREATER 3.8
448
+
OR LLVM_USE_SANITIZER)
449
+
set(SWIFT_LIBDISPATCH_C_COMPILER ${CMAKE_C_COMPILER})
450
+
set(SWIFT_LIBDISPATCH_CXX_COMPILER ${CMAKE_CXX_COMPILER})
451
+
- elseif(${CMAKE_SYSTEM_NAME} STREQUAL ${CMAKE_HOST_SYSTEM_NAME})
452
+
- if(CMAKE_SYSTEM_NAME STREQUAL Windows)
453
+
+ elseif(CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME)
454
+
+ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
455
+
if(CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR AND
457
+
set(SWIFT_LIBDISPATCH_C_COMPILER
458
+
@@ -29,7 +29,7 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
459
+
message(SEND_ERROR "libdispatch requires a newer clang compiler (${CMAKE_C_COMPILER_VERSION} < 3.9)")
462
+
- if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
463
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS")
464
+
set(LIBDISPATCH_RUNTIME_DIR bin)
466
+
set(LIBDISPATCH_RUNTIME_DIR lib)
467
+
@@ -40,7 +40,7 @@ set(DISPATCH_SDKS)
469
+
# Build the host libdispatch if needed.
470
+
if(SWIFT_BUILD_HOST_DISPATCH)
471
+
- if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
472
+
+ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
473
+
if(NOT "${SWIFT_HOST_VARIANT_SDK}" IN_LIST SWIFT_SDKS)
474
+
list(APPEND DISPATCH_SDKS "${SWIFT_HOST_VARIANT_SDK}")
476
+
@@ -52,20 +52,20 @@ foreach(sdk ${SWIFT_SDKS})
477
+
# Darwin targets have libdispatch available, do not build it.
478
+
# Wasm/WASI doesn't support libdispatch yet.
479
+
# See https://github.com/apple/swift/issues/54533 for more details.
480
+
- if(NOT "${sdk}" IN_LIST SWIFT_DARWIN_PLATFORMS AND NOT "${sdk}" STREQUAL WASI)
481
+
+ if(NOT "${sdk}" IN_LIST SWIFT_DARWIN_PLATFORMS AND NOT "${sdk}" STREQUAL "WASI")
482
+
list(APPEND DISPATCH_SDKS "${sdk}")
486
+
foreach(sdk ${DISPATCH_SDKS})
487
+
set(ARCHS ${SWIFT_SDK_${sdk}_ARCHITECTURES})
488
+
- if(${sdk} STREQUAL "${SWIFT_HOST_VARIANT_SDK}")
489
+
+ if(sdk STREQUAL "${SWIFT_HOST_VARIANT_SDK}")
490
+
if(NOT "${SWIFT_HOST_VARIANT_ARCH}" IN_LIST ARCHS)
491
+
list(APPEND ARCHS "${SWIFT_HOST_VARIANT_ARCH}")
495
+
- if(sdk STREQUAL ANDROID)
496
+
+ if(sdk STREQUAL "ANDROID")
497
+
set(SWIFT_LIBDISPATCH_COMPILER_CMAKE_ARGS)
499
+
set(SWIFT_LIBDISPATCH_COMPILER_CMAKE_ARGS -DCMAKE_C_COMPILER=${SWIFT_LIBDISPATCH_C_COMPILER};-DCMAKE_CXX_COMPILER=${SWIFT_LIBDISPATCH_CXX_COMPILER})
500
+
diff --git a/cmake/modules/SwiftComponents.cmake b/cmake/modules/SwiftComponents.cmake
501
+
index 6816b75e8a4..2ec225140dc 100644
502
+
--- a/cmake/modules/SwiftComponents.cmake
503
+
+++ b/cmake/modules/SwiftComponents.cmake
504
+
@@ -82,7 +82,7 @@ list(REMOVE_ITEM _SWIFT_DEFAULT_COMPONENTS "clang-builtin-headers-in-clang-resou
505
+
# This conflicts with LLVM itself when doing unified builds.
506
+
list(REMOVE_ITEM _SWIFT_DEFAULT_COMPONENTS "llvm-toolchain-dev-tools")
507
+
# The sourcekit install variants are currently mutually exclusive.
508
+
-if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
509
+
+if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
510
+
list(REMOVE_ITEM _SWIFT_DEFAULT_COMPONENTS "sourcekit-inproc")
512
+
list(REMOVE_ITEM _SWIFT_DEFAULT_COMPONENTS "sourcekit-xpc-service")
513
+
diff --git a/cmake/modules/SwiftConfigureSDK.cmake b/cmake/modules/SwiftConfigureSDK.cmake
514
+
index d4cb352d658..5dd258cdd24 100644
515
+
--- a/cmake/modules/SwiftConfigureSDK.cmake
516
+
+++ b/cmake/modules/SwiftConfigureSDK.cmake
517
+
@@ -232,7 +232,7 @@ macro(configure_sdk_darwin
518
+
SWIFT_SDK_${prefix}_MODULE_ARCHITECTURES) # result
520
+
# Determine whether this is a simulator SDK.
521
+
- if ( ${xcrun_name} MATCHES "simulator" )
522
+
+ if(xcrun_name MATCHES "simulator")
523
+
set(SWIFT_SDK_${prefix}_IS_SIMULATOR TRUE)
525
+
set(SWIFT_SDK_${prefix}_IS_SIMULATOR FALSE)
526
+
@@ -378,11 +378,11 @@ macro(configure_sdk_unix name architectures)
527
+
message(FATAL_ERROR "unknown arch for ${prefix}: ${arch}")
529
+
elseif("${prefix}" STREQUAL "FREEBSD")
530
+
- if(NOT arch STREQUAL x86_64)
531
+
+ if(NOT arch STREQUAL "x86_64")
532
+
message(FATAL_ERROR "unsupported arch for FreeBSD: ${arch}")
535
+
- if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL FreeBSD)
536
+
+ if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD")
537
+
message(WARNING "CMAKE_SYSTEM_VERSION will not match target")
540
+
@@ -391,7 +391,7 @@ macro(configure_sdk_unix name architectures)
542
+
set(SWIFT_SDK_FREEBSD_ARCH_x86_64_TRIPLE "x86_64-unknown-freebsd${freebsd_system_version}")
543
+
elseif("${prefix}" STREQUAL "OPENBSD")
544
+
- if(NOT arch STREQUAL amd64)
545
+
+ if(NOT arch STREQUAL "amd64")
546
+
message(FATAL_ERROR "unsupported arch for OpenBSD: ${arch}")
549
+
@@ -404,17 +404,17 @@ macro(configure_sdk_unix name architectures)
550
+
set(SWIFT_SDK_OPENBSD_ARCH_${arch}_PATH "${CMAKE_SYSROOT}${SWIFT_SDK_OPENBSD_ARCH_${arch}_PATH}" CACHE INTERNAL "sysroot path" FORCE)
552
+
elseif("${prefix}" STREQUAL "CYGWIN")
553
+
- if(NOT arch STREQUAL x86_64)
554
+
+ if(NOT arch STREQUAL "x86_64")
555
+
message(FATAL_ERROR "unsupported arch for cygwin: ${arch}")
557
+
set(SWIFT_SDK_CYGWIN_ARCH_x86_64_TRIPLE "x86_64-unknown-windows-cygnus")
558
+
elseif("${prefix}" STREQUAL "HAIKU")
559
+
- if(NOT arch STREQUAL x86_64)
560
+
+ if(NOT arch STREQUAL "x86_64")
561
+
message(FATAL_ERROR "unsupported arch for Haiku: ${arch}")
563
+
set(SWIFT_SDK_HAIKU_ARCH_x86_64_TRIPLE "x86_64-unknown-haiku")
564
+
elseif("${prefix}" STREQUAL "WASI")
565
+
- if(NOT arch STREQUAL wasm32)
566
+
+ if(NOT arch STREQUAL "wasm32")
567
+
message(FATAL_ERROR "unsupported arch for WebAssembly: ${arch}")
569
+
set(SWIFT_SDK_WASI_ARCH_wasm32_PATH "${SWIFT_WASI_SYSROOT_PATH}")
570
+
@@ -459,7 +459,7 @@ macro(configure_sdk_windows name environment architectures)
571
+
get_threading_package(${prefix} "win32" SWIFT_SDK_${prefix}_THREADING_PACKAGE)
573
+
foreach(arch ${architectures})
574
+
- if(arch STREQUAL armv7)
575
+
+ if(arch STREQUAL "armv7")
576
+
set(SWIFT_SDK_${prefix}_ARCH_${arch}_TRIPLE
577
+
"thumbv7-unknown-windows-${environment}")
579
+
diff --git a/cmake/modules/SwiftWindowsSupport.cmake b/cmake/modules/SwiftWindowsSupport.cmake
580
+
index 6216b82c12b..a3432476658 100644
581
+
--- a/cmake/modules/SwiftWindowsSupport.cmake
582
+
+++ b/cmake/modules/SwiftWindowsSupport.cmake
584
+
include(SwiftUtils)
586
+
function(swift_windows_arch_spelling arch var)
587
+
- if(${arch} STREQUAL i686)
588
+
+ if(arch STREQUAL "i686")
589
+
set(${var} x86 PARENT_SCOPE)
590
+
- elseif(${arch} STREQUAL x86_64)
591
+
+ elseif(arch STREQUAL "x86_64")
592
+
set(${var} x64 PARENT_SCOPE)
593
+
- elseif(${arch} STREQUAL armv7)
594
+
+ elseif(arch STREQUAL "armv7")
595
+
set(${var} arm PARENT_SCOPE)
596
+
- elseif(${arch} STREQUAL aarch64)
597
+
+ elseif(arch STREQUAL "aarch64")
598
+
set(${var} arm64 PARENT_SCOPE)
600
+
message(FATAL_ERROR "do not know MSVC spelling for ARCH: `${arch}`")
601
+
@@ -33,7 +33,7 @@ function(swift_windows_lib_for_arch arch var)
602
+
# a directory called "Lib" rather than VS2017 which normalizes the layout and
603
+
# places them in a directory named "lib".
604
+
if(IS_DIRECTORY "${VCToolsInstallDir}/Lib")
605
+
- if(${ARCH} STREQUAL x86)
606
+
+ if(ARCH STREQUAL "x86")
607
+
list(APPEND paths "${VCToolsInstallDir}/Lib/")
609
+
list(APPEND paths "${VCToolsInstallDir}/Lib/${ARCH}")
610
+
diff --git a/include/swift/AST/CMakeLists.txt b/include/swift/AST/CMakeLists.txt
611
+
index 869d96ba13b..050695f65c6 100644
612
+
--- a/include/swift/AST/CMakeLists.txt
613
+
+++ b/include/swift/AST/CMakeLists.txt
615
+
-if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows)
616
+
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
617
+
set(SWIFT_GYB_FLAGS --line-directive "^\"#line %(line)d \\\"%(file)s\\\"^\"")
619
+
set(SWIFT_GYB_FLAGS --line-directive "\'#line" "%(line)d" "\"%(file)s\"\'")
620
+
diff --git a/lib/AST/CMakeLists.txt b/lib/AST/CMakeLists.txt
621
+
index a0011d8a68c..13363dea4aa 100644
622
+
--- a/lib/AST/CMakeLists.txt
623
+
+++ b/lib/AST/CMakeLists.txt
624
+
@@ -125,7 +125,7 @@ add_swift_host_library(swiftAST STATIC
627
+
if(SWIFT_FORCE_OPTIMIZED_TYPECHECKER)
628
+
- if(CMAKE_CXX_COMPILER_ID STREQUAL MSVC OR CMAKE_CXX_SIMULATE_ID STREQUAL MSVC)
629
+
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" OR CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
630
+
target_compile_options(swiftAST PRIVATE /O2 /Ob2)
632
+
target_compile_options(swiftAST PRIVATE -O3)
633
+
diff --git a/lib/Migrator/CMakeLists.txt b/lib/Migrator/CMakeLists.txt
634
+
index 1dfd089d21a..228baa470ed 100644
635
+
--- a/lib/Migrator/CMakeLists.txt
636
+
+++ b/lib/Migrator/CMakeLists.txt
637
+
@@ -23,7 +23,7 @@ set(outputs)
638
+
foreach(input ${datafiles})
639
+
set(source "${CMAKE_CURRENT_SOURCE_DIR}/${input}")
640
+
set(dest "${output_dir}/${input}")
641
+
- if(CMAKE_SYSTEM_NAME STREQUAL Windows)
642
+
+ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
643
+
set(CMAKE_SYMLINK_COMMAND copy)
645
+
set(CMAKE_SYMLINK_COMMAND create_symlink)
646
+
diff --git a/lib/Parse/CMakeLists.txt b/lib/Parse/CMakeLists.txt
647
+
index b46a4b217c3..b8550c96b2a 100644
648
+
--- a/lib/Parse/CMakeLists.txt
649
+
+++ b/lib/Parse/CMakeLists.txt
653
+
-if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows)
654
+
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
655
+
set(SWIFT_GYB_FLAGS --line-directive "^\"#line %(line)d \\\"%(file)s\\\"^\"")
657
+
set(SWIFT_GYB_FLAGS --line-directive "\'#line" "%(line)d" "\"%(file)s\"\'")
658
+
diff --git a/lib/Sema/CMakeLists.txt b/lib/Sema/CMakeLists.txt
659
+
index c0e3608d07a..bf70a33782d 100644
660
+
--- a/lib/Sema/CMakeLists.txt
661
+
+++ b/lib/Sema/CMakeLists.txt
662
+
@@ -74,7 +74,7 @@ add_swift_host_library(swiftSema STATIC
664
+
IDETypeCheckingRequests.cpp)
665
+
if(SWIFT_FORCE_OPTIMIZED_TYPECHECKER)
666
+
- if(CMAKE_CXX_COMPILER_ID STREQUAL MSVC OR CMAKE_CXX_SIMULATE_ID STREQUAL MSVC)
667
+
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" OR CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
668
+
target_compile_options(swiftSema PRIVATE /O2 /Ob2)
670
+
target_compile_options(swiftSema PRIVATE -O3)
671
+
diff --git a/lib/SwiftRemoteMirror/CMakeLists.txt b/lib/SwiftRemoteMirror/CMakeLists.txt
672
+
index f774297e51c..da2248de9f7 100644
673
+
--- a/lib/SwiftRemoteMirror/CMakeLists.txt
674
+
+++ b/lib/SwiftRemoteMirror/CMakeLists.txt
675
+
@@ -3,6 +3,6 @@ add_swift_host_library(swiftRemoteMirror STATIC
676
+
target_link_libraries(swiftRemoteMirror PRIVATE
679
+
-if(CMAKE_SYSTEM_NAME STREQUAL Windows)
680
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
681
+
target_compile_definitions(swiftRemoteMirror PRIVATE _LIB)
683
+
diff --git a/stdlib/cmake/modules/AddSwiftStdlib.cmake b/stdlib/cmake/modules/AddSwiftStdlib.cmake
684
+
index 25a79d145fb..781d6fd33cf 100644
685
+
--- a/stdlib/cmake/modules/AddSwiftStdlib.cmake
686
+
+++ b/stdlib/cmake/modules/AddSwiftStdlib.cmake
687
+
@@ -249,7 +249,7 @@ function(_add_target_variant_c_compile_flags)
688
+
# NOTE(compnerd) workaround LLVM invoking `add_definitions(-D_DEBUG)` which
689
+
# causes failures for the runtime library when cross-compiling due to
690
+
# undefined symbols from the standard library.
691
+
- if(NOT CMAKE_BUILD_TYPE STREQUAL Debug)
692
+
+ if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
693
+
list(APPEND result "-U_DEBUG")
696
+
@@ -258,7 +258,7 @@ function(_add_target_variant_c_compile_flags)
697
+
# uses a spin lock for this, so to get reasonable behavior we have to
698
+
# implement it ourselves using _InterlockedCompareExchange128.
699
+
# clang-cl requires us to enable the `cx16` feature to use this intrinsic.
700
+
- if(CFLAGS_ARCH STREQUAL x86_64)
701
+
+ if(CFLAGS_ARCH STREQUAL "x86_64")
702
+
if(SWIFT_COMPILER_IS_MSVC_LIKE)
703
+
list(APPEND result /clang:-mcx16)
705
+
@@ -287,7 +287,7 @@ function(_add_target_variant_c_compile_flags)
708
+
if("${CFLAGS_SDK}" STREQUAL "LINUX")
709
+
- if(${CFLAGS_ARCH} STREQUAL x86_64)
710
+
+ if("${CFLAGS_ARCH}" STREQUAL "x86_64")
711
+
# this is the minimum architecture that supports 16 byte CAS, which is necessary to avoid a dependency to libatomic
712
+
list(APPEND result "-march=core2")
714
+
@@ -493,7 +493,7 @@ function(_add_target_variant_link_flags)
716
+
set(linker "${SWIFT_USE_LINKER}")
718
+
- if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows)
719
+
+ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
720
+
list(APPEND result "-fuse-ld=${linker}.exe")
722
+
list(APPEND result "-fuse-ld=${linker}")
723
+
@@ -506,8 +506,8 @@ function(_add_target_variant_link_flags)
725
+
# TODO: Evaluate/enable -f{function,data}-sections --gc-sections for bfd,
727
+
- if(NOT CMAKE_BUILD_TYPE STREQUAL Debug)
728
+
- if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
729
+
+ if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
730
+
+ if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
731
+
# See rdar://48283130: This gives 6MB+ size reductions for swift and
732
+
# SourceKitService, and much larger size reductions for sil-opt etc.
733
+
list(APPEND result "-Wl,-dead_strip")
734
+
@@ -969,7 +969,7 @@ function(add_swift_target_library_single target name)
737
+
set(INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS ${SWIFTLIB_INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS})
738
+
- if(${libkind} STREQUAL "SHARED")
739
+
+ if(libkind STREQUAL "SHARED")
740
+
list(APPEND INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS
741
+
${SWIFTLIB_INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS_SHARED_ONLY})
743
+
@@ -991,7 +991,7 @@ function(add_swift_target_library_single target name)
744
+
# target_sources(${target}
746
+
# $<TARGET_OBJECTS:swiftImageRegistrationObject${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK}_OBJECT_FORMAT}-${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK}_LIB_SUBDIR}-${SWIFTLIB_SINGLE_ARCHITECTURE}>)
747
+
- if(SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS)
748
+
+ if(SWIFTLIB_SINGLE_SDK STREQUAL "WINDOWS")
749
+
set(extension .obj)
752
+
@@ -1059,8 +1059,8 @@ function(add_swift_target_library_single target name)
753
+
set_target_properties("${target}" PROPERTIES
754
+
LIBRARY_OUTPUT_DIRECTORY ${swiftlib_prefix}/${output_sub_dir}
755
+
ARCHIVE_OUTPUT_DIRECTORY ${swiftlib_prefix}/${output_sub_dir})
756
+
- if(SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS AND SWIFTLIB_SINGLE_IS_STDLIB_CORE
757
+
- AND libkind STREQUAL SHARED)
758
+
+ if(SWIFTLIB_SINGLE_SDK STREQUAL "WINDOWS" AND SWIFTLIB_SINGLE_IS_STDLIB_CORE
759
+
+ AND libkind STREQUAL "SHARED")
760
+
add_custom_command(TARGET ${target} POST_BUILD
761
+
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${target}> ${swiftlib_prefix}/${output_sub_dir})
763
+
@@ -1264,8 +1264,8 @@ function(add_swift_target_library_single target name)
764
+
MACCATALYST_BUILD_FLAVOR "${SWIFTLIB_SINGLE_MACCATALYST_BUILD_FLAVOR}"
767
+
- if(SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS)
768
+
- if(libkind STREQUAL SHARED)
769
+
+ if(SWIFTLIB_SINGLE_SDK STREQUAL "WINDOWS")
770
+
+ if(libkind STREQUAL "SHARED")
771
+
list(APPEND c_compile_flags -D_WINDLL)
774
+
@@ -1324,13 +1324,13 @@ function(add_swift_target_library_single target name)
777
+
# Set compilation and link flags.
778
+
- if(SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS)
779
+
+ if(SWIFTLIB_SINGLE_SDK STREQUAL "WINDOWS")
780
+
swift_windows_include_for_arch(${SWIFTLIB_SINGLE_ARCHITECTURE}
781
+
${SWIFTLIB_SINGLE_ARCHITECTURE}_INCLUDE)
782
+
target_include_directories(${target} SYSTEM PRIVATE
783
+
${${SWIFTLIB_SINGLE_ARCHITECTURE}_INCLUDE})
785
+
- if(NOT ${CMAKE_C_COMPILER_ID} STREQUAL MSVC)
786
+
+ if(NOT CMAKE_C_COMPILER_ID STREQUAL "MSVC")
787
+
swift_windows_get_sdk_vfs_overlay(SWIFTLIB_SINGLE_VFS_OVERLAY)
788
+
target_compile_options(${target} PRIVATE
789
+
"SHELL:-Xclang -ivfsoverlay -Xclang ${SWIFTLIB_SINGLE_VFS_OVERLAY}")
790
+
@@ -1347,7 +1347,7 @@ function(add_swift_target_library_single target name)
791
+
${c_compile_flags})
792
+
target_link_options(${target} PRIVATE
794
+
- if(${SWIFTLIB_SINGLE_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS)
795
+
+ if(SWIFTLIB_SINGLE_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
796
+
target_link_options(${target} PRIVATE
797
+
"LINKER:-compatibility_version,1")
798
+
if(SWIFT_COMPILER_VERSION)
799
+
@@ -1380,7 +1380,7 @@ function(add_swift_target_library_single target name)
800
+
list(APPEND swiftlib_link_flags_all "-Xlinker -no_warn_inits")
803
+
- if(${SWIFTLIB_SINGLE_SDK} IN_LIST SWIFT_APPLE_PLATFORMS)
804
+
+ if(SWIFTLIB_SINGLE_SDK IN_LIST SWIFT_APPLE_PLATFORMS)
805
+
# In the past, we relied on unsetting globally
806
+
# CMAKE_OSX_ARCHITECTURES to ensure that CMake
807
+
# would not add the -arch flag. This is no longer
808
+
@@ -1403,7 +1403,7 @@ function(add_swift_target_library_single target name)
809
+
# doing so will result in incorrect symbol resolution and linkage. We created
810
+
# import library targets when the library was added. Use that to adjust the
812
+
- if(SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS AND NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
813
+
+ if(SWIFTLIB_SINGLE_SDK STREQUAL "WINDOWS" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
814
+
foreach(library_list LINK_LIBRARIES PRIVATE_LINK_LIBRARIES)
815
+
set(import_libraries)
816
+
foreach(library ${SWIFTLIB_SINGLE_${library_list}})
817
+
@@ -1415,7 +1415,7 @@ function(add_swift_target_library_single target name)
818
+
set(import_library ${library})
819
+
if(TARGET ${library})
820
+
get_target_property(type ${library} TYPE)
821
+
- if(${type} STREQUAL "SHARED_LIBRARY")
822
+
+ if(type STREQUAL "SHARED_LIBRARY")
823
+
set(import_library ${library}_IMPLIB)
826
+
@@ -1744,7 +1744,7 @@ function(add_swift_target_library name)
827
+
list(APPEND SWIFTLIB_SWIFT_MODULE_DEPENDS Core)
829
+
# swiftSwiftOnoneSupport does not depend on itself, obviously.
830
+
- if(NOT ${name} STREQUAL swiftSwiftOnoneSupport)
831
+
+ if(NOT name STREQUAL "swiftSwiftOnoneSupport")
832
+
# All Swift code depends on the SwiftOnoneSupport in non-optimized mode,
833
+
# except for the standard library itself.
834
+
is_build_type_optimized("${SWIFT_STDLIB_BUILD_TYPE}" optimized)
835
+
@@ -1851,7 +1851,7 @@ function(add_swift_target_library name)
837
+
# Collect architecture agnostic SDK module dependencies
838
+
set(swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS})
839
+
- if(${sdk} STREQUAL OSX)
840
+
+ if(sdk STREQUAL "OSX")
841
+
if(DEFINED maccatalyst_build_flavor AND NOT maccatalyst_build_flavor STREQUAL "macos-like")
842
+
list(APPEND swiftlib_module_depends_flattened
843
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_MACCATALYST})
844
+
@@ -1863,70 +1863,70 @@ function(add_swift_target_library name)
846
+
list(APPEND swiftlib_module_depends_flattened
847
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_OSX})
848
+
- elseif(${sdk} STREQUAL IOS OR ${sdk} STREQUAL IOS_SIMULATOR)
849
+
+ elseif(sdk STREQUAL "IOS" OR sdk STREQUAL "IOS_SIMULATOR")
850
+
list(APPEND swiftlib_module_depends_flattened
851
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_IOS})
852
+
- elseif(${sdk} STREQUAL TVOS OR ${sdk} STREQUAL TVOS_SIMULATOR)
853
+
+ elseif(sdk STREQUAL "TVOS" OR sdk STREQUAL "TVOS_SIMULATOR")
854
+
list(APPEND swiftlib_module_depends_flattened
855
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_TVOS})
856
+
- elseif(${sdk} STREQUAL WATCHOS OR ${sdk} STREQUAL WATCHOS_SIMULATOR)
857
+
+ elseif(sdk STREQUAL "WATCHOS" OR sdk STREQUAL "WATCHOS_SIMULATOR")
858
+
list(APPEND swiftlib_module_depends_flattened
859
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_WATCHOS})
860
+
- elseif(${sdk} STREQUAL FREESTANDING)
861
+
+ elseif(sdk STREQUAL "FREESTANDING")
862
+
list(APPEND swiftlib_module_depends_flattened
863
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_FREESTANDING})
864
+
- elseif(${sdk} STREQUAL FREEBSD)
865
+
+ elseif(sdk STREQUAL "FREEBSD")
866
+
list(APPEND swiftlib_module_depends_flattened
867
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_FREEBSD})
868
+
- elseif(${sdk} STREQUAL OPENBSD)
869
+
+ elseif(sdk STREQUAL "OPENBSD")
870
+
list(APPEND swiftlib_module_depends_flattened
871
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_OPENBSD})
872
+
- elseif(${sdk} STREQUAL LINUX OR ${sdk} STREQUAL ANDROID)
873
+
+ elseif(sdk STREQUAL "LINUX" OR sdk STREQUAL "ANDROID")
874
+
list(APPEND swiftlib_module_depends_flattened
875
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_LINUX})
876
+
- elseif(${sdk} STREQUAL CYGWIN)
877
+
+ elseif(sdk STREQUAL "CYGWIN")
878
+
list(APPEND swiftlib_module_depends_flattened
879
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_CYGWIN})
880
+
- elseif(${sdk} STREQUAL HAIKU)
881
+
+ elseif(sdk STREQUAL "HAIKU")
882
+
list(APPEND swiftlib_module_depends_flattened
883
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_HAIKU})
884
+
- elseif(${sdk} STREQUAL WASI)
885
+
+ elseif(sdk STREQUAL "WASI")
886
+
list(APPEND swiftlib_module_depends_flattened
887
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_WASI})
888
+
- elseif(${sdk} STREQUAL WINDOWS)
889
+
+ elseif(sdk STREQUAL "WINDOWS")
890
+
list(APPEND swiftlib_module_depends_flattened
891
+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_WINDOWS})
894
+
# Collect architecture agnostic SDK framework dependencies
895
+
set(swiftlib_framework_depends_flattened ${SWIFTLIB_FRAMEWORK_DEPENDS})
896
+
- if(${sdk} STREQUAL OSX)
897
+
+ if(sdk STREQUAL "OSX")
898
+
list(APPEND swiftlib_framework_depends_flattened
899
+
${SWIFTLIB_FRAMEWORK_DEPENDS_OSX})
900
+
- elseif(${sdk} STREQUAL IOS OR ${sdk} STREQUAL IOS_SIMULATOR OR
901
+
- ${sdk} STREQUAL TVOS OR ${sdk} STREQUAL TVOS_SIMULATOR)
902
+
+ elseif(sdk STREQUAL "IOS" OR sdk STREQUAL "IOS_SIMULATOR" OR
903
+
+ sdk STREQUAL "TVOS" OR sdk STREQUAL "TVOS_SIMULATOR")
904
+
list(APPEND swiftlib_framework_depends_flattened
905
+
${SWIFTLIB_FRAMEWORK_DEPENDS_IOS_TVOS})
908
+
# Collect architecture agnostic swift compiler flags
909
+
set(swiftlib_swift_compile_flags_all ${SWIFTLIB_SWIFT_COMPILE_FLAGS})
910
+
- if(${sdk} STREQUAL OSX)
911
+
+ if(sdk STREQUAL "OSX")
912
+
list(APPEND swiftlib_swift_compile_flags_all
913
+
${SWIFTLIB_SWIFT_COMPILE_FLAGS_OSX})
914
+
- elseif(${sdk} STREQUAL IOS OR ${sdk} STREQUAL IOS_SIMULATOR)
915
+
+ elseif(sdk STREQUAL "IOS" OR sdk STREQUAL "IOS_SIMULATOR")
916
+
list(APPEND swiftlib_swift_compile_flags_all
917
+
${SWIFTLIB_SWIFT_COMPILE_FLAGS_IOS})
918
+
- elseif(${sdk} STREQUAL TVOS OR ${sdk} STREQUAL TVOS_SIMULATOR)
919
+
+ elseif(sdk STREQUAL "TVOS" OR sdk STREQUAL "TVOS_SIMULATOR")
920
+
list(APPEND swiftlib_swift_compile_flags_all
921
+
${SWIFTLIB_SWIFT_COMPILE_FLAGS_TVOS})
922
+
- elseif(${sdk} STREQUAL WATCHOS OR ${sdk} STREQUAL WATCHOS_SIMULATOR)
923
+
+ elseif(sdk STREQUAL "WATCHOS" OR sdk STREQUAL "WATCHOS_SIMULATOR")
924
+
list(APPEND swiftlib_swift_compile_flags_all
925
+
${SWIFTLIB_SWIFT_COMPILE_FLAGS_WATCHOS})
926
+
- elseif(${sdk} STREQUAL LINUX)
927
+
+ elseif(sdk STREQUAL "LINUX")
928
+
list(APPEND swiftlib_swift_compile_flags_all
929
+
${SWIFTLIB_SWIFT_COMPILE_FLAGS_LINUX})
930
+
- elseif(${sdk} STREQUAL WINDOWS)
931
+
+ elseif(sdk STREQUAL "WINDOWS")
932
+
# FIXME: https://github.com/apple/swift/issues/44614
933
+
# static and shared are not mutually exclusive; however since we do a
934
+
# single build of the sources, this doesn't work for building both
935
+
@@ -1945,7 +1945,7 @@ function(add_swift_target_library name)
937
+
# Collect architecture agnostic SDK linker flags
938
+
set(swiftlib_link_flags_all ${SWIFTLIB_LINK_FLAGS})
939
+
- if(${sdk} STREQUAL IOS_SIMULATOR AND ${name} STREQUAL swiftMediaPlayer)
940
+
+ if(sdk STREQUAL "IOS_SIMULATOR" AND name STREQUAL "swiftMediaPlayer")
941
+
# message("DISABLING AUTOLINK FOR swiftMediaPlayer")
942
+
list(APPEND swiftlib_link_flags_all "-Xlinker" "-ignore_auto_link")
944
+
@@ -1959,8 +1959,8 @@ function(add_swift_target_library name)
945
+
# back to supported targets and libraries only. This is needed for ELF
946
+
# targets only; however, RemoteMirror needs to build with undefined
948
+
- if(${SWIFT_SDK_${sdk}_OBJECT_FORMAT} STREQUAL ELF AND
949
+
- NOT ${name} STREQUAL swiftRemoteMirror)
950
+
+ if(SWIFT_SDK_${sdk}_OBJECT_FORMAT STREQUAL "ELF" AND
951
+
+ NOT name STREQUAL "swiftRemoteMirror")
952
+
list(APPEND swiftlib_link_flags_all "-Wl,-z,defs")
954
+
# Setting back linker flags which are not supported when making Android build on macOS cross-compile host.
955
+
@@ -2067,22 +2067,22 @@ function(add_swift_target_library name)
956
+
set(swiftlib_link_flags_all ${SWIFTLIB_LINK_FLAGS})
958
+
# Collect architecture agnostic c compiler flags
959
+
- if(${sdk} STREQUAL OSX)
960
+
+ if(sdk STREQUAL "OSX")
961
+
list(APPEND swiftlib_c_compile_flags_all
962
+
${SWIFTLIB_C_COMPILE_FLAGS_OSX})
963
+
- elseif(${sdk} STREQUAL IOS OR ${sdk} STREQUAL IOS_SIMULATOR)
964
+
+ elseif(sdk STREQUAL "IOS" OR sdk STREQUAL "IOS_SIMULATOR")
965
+
list(APPEND swiftlib_c_compile_flags_all
966
+
${SWIFTLIB_C_COMPILE_FLAGS_IOS})
967
+
- elseif(${sdk} STREQUAL TVOS OR ${sdk} STREQUAL TVOS_SIMULATOR)
968
+
+ elseif(sdk STREQUAL "TVOS" OR sdk STREQUAL "TVOS_SIMULATOR")
969
+
list(APPEND swiftlib_c_compile_flags_all
970
+
${SWIFTLIB_C_COMPILE_FLAGS_TVOS})
971
+
- elseif(${sdk} STREQUAL WATCHOS OR ${sdk} STREQUAL WATCHOS_SIMULATOR)
972
+
+ elseif(sdk STREQUAL "WATCHOS" OR sdk STREQUAL "WATCHOS_SIMULATOR")
973
+
list(APPEND swiftlib_c_compile_flags_all
974
+
${SWIFTLIB_C_COMPILE_FLAGS_WATCHOS})
975
+
- elseif(${sdk} STREQUAL LINUX)
976
+
+ elseif(sdk STREQUAL "LINUX")
977
+
list(APPEND swiftlib_c_compile_flags_all
978
+
${SWIFTLIB_C_COMPILE_FLAGS_LINUX})
979
+
- elseif(${sdk} STREQUAL WINDOWS)
980
+
+ elseif(sdk STREQUAL "WINDOWS")
981
+
list(APPEND swiftlib_c_compile_flags_all
982
+
${SWIFTLIB_C_COMPILE_FLAGS_WINDOWS})
984
+
@@ -2124,7 +2124,7 @@ function(add_swift_target_library name)
987
+
# Setting back linker flags which are not supported when making Android build on macOS cross-compile host.
988
+
- if(SWIFTLIB_SHARED AND ${sdk} STREQUAL ANDROID)
989
+
+ if(SWIFTLIB_SHARED AND sdk STREQUAL "ANDROID")
990
+
list(APPEND swiftlib_link_flags_all "-shared")
991
+
# TODO: Instead of `lib${name}.so` find variable or target property which already have this value.
992
+
list(APPEND swiftlib_link_flags_all "-Wl,-soname,lib${name}.so")
993
+
@@ -2181,7 +2181,7 @@ function(add_swift_target_library name)
994
+
add_dependencies(${VARIANT_NAME} clang)
997
+
- if(sdk STREQUAL WINDOWS)
998
+
+ if(sdk STREQUAL "WINDOWS")
999
+
if(SWIFT_COMPILER_IS_MSVC_LIKE)
1000
+
if (SWIFT_STDLIB_MSVC_RUNTIME_LIBRARY MATCHES MultiThreadedDebugDLL)
1001
+
target_compile_options(${VARIANT_NAME} PRIVATE /MDd /D_DLL /D_DEBUG)
1002
+
@@ -2326,7 +2326,7 @@ function(add_swift_target_library name)
1003
+
set(optional_arg "OPTIONAL")
1006
+
- if(sdk STREQUAL WINDOWS AND CMAKE_SYSTEM_NAME STREQUAL Windows)
1007
+
+ if(sdk STREQUAL "WINDOWS" AND CMAKE_SYSTEM_NAME STREQUAL "Windows")
1008
+
add_dependencies(${SWIFTLIB_INSTALL_IN_COMPONENT} ${name}-windows-${SWIFT_PRIMARY_VARIANT_ARCH})
1009
+
swift_install_in_component(TARGETS ${name}-windows-${SWIFT_PRIMARY_VARIANT_ARCH}
1011
+
@@ -2357,7 +2357,7 @@ function(add_swift_target_library name)
1012
+
PERMISSIONS ${file_permissions}
1013
+
"${optional_arg}")
1015
+
- if(sdk STREQUAL WINDOWS)
1016
+
+ if(sdk STREQUAL "WINDOWS")
1017
+
foreach(arch ${SWIFT_SDK_WINDOWS_ARCHITECTURES})
1018
+
if(TARGET ${name}-windows-${arch}_IMPLIB)
1019
+
get_target_property(import_library ${name}-windows-${arch}_IMPLIB IMPORTED_LOCATION)
1020
+
@@ -2558,13 +2558,13 @@ function(_add_swift_target_executable_single name)
1021
+
${SWIFTEXE_SINGLE_DEPENDS})
1022
+
llvm_update_compile_flags("${name}")
1024
+
- if(SWIFTEXE_SINGLE_SDK STREQUAL WINDOWS)
1025
+
+ if(SWIFTEXE_SINGLE_SDK STREQUAL "WINDOWS")
1026
+
swift_windows_include_for_arch(${SWIFTEXE_SINGLE_ARCHITECTURE}
1027
+
${SWIFTEXE_SINGLE_ARCHITECTURE}_INCLUDE)
1028
+
target_include_directories(${name} SYSTEM PRIVATE
1029
+
${${SWIFTEXE_SINGLE_ARCHITECTURE}_INCLUDE})
1031
+
- if(NOT ${CMAKE_C_COMPILER_ID} STREQUAL MSVC)
1032
+
+ if(NOT CMAKE_C_COMPILER_ID STREQUAL "MSVC")
1033
+
# MSVC doesn't support -Xclang. We don't need to manually specify
1034
+
# the dependent libraries as `cl` does so.
1035
+
target_compile_options(${name} PRIVATE
1036
+
@@ -2584,7 +2584,7 @@ function(_add_swift_target_executable_single name)
1037
+
if (SWIFT_PARALLEL_LINK_JOBS)
1038
+
set_property(TARGET ${name} PROPERTY JOB_POOL_LINK swift_link_job_pool)
1040
+
- if(${SWIFTEXE_SINGLE_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS)
1041
+
+ if(SWIFTEXE_SINGLE_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
1042
+
set_target_properties(${name} PROPERTIES
1043
+
BUILD_WITH_INSTALL_RPATH YES
1044
+
INSTALL_RPATH "@executable_path/../lib/swift/${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK}_LIB_SUBDIR}")
1045
+
@@ -2596,7 +2596,7 @@ function(_add_swift_target_executable_single name)
1046
+
# NOTE(compnerd) use the C linker language to invoke `clang` rather than
1047
+
# `clang++` as we explicitly link against the C++ runtime. We were previously
1048
+
# actually passing `-nostdlib++` to avoid the C++ runtime linkage.
1049
+
- if(${SWIFTEXE_SINGLE_SDK} STREQUAL ANDROID)
1050
+
+ if(SWIFTEXE_SINGLE_SDK STREQUAL "ANDROID")
1051
+
set_property(TARGET "${name}" PROPERTY
1052
+
LINKER_LANGUAGE "C")
1054
+
@@ -2666,7 +2666,7 @@ function(add_swift_target_executable name)
1055
+
EXCLUDE_FROM_ALL TRUE)
1058
+
- if(${sdk} IN_LIST SWIFT_APPLE_PLATFORMS)
1059
+
+ if(sdk IN_LIST SWIFT_APPLE_PLATFORMS)
1060
+
# In the past, we relied on unsetting globally
1061
+
# CMAKE_OSX_ARCHITECTURES to ensure that CMake would
1062
+
# not add the -arch flag
1063
+
diff --git a/stdlib/cmake/modules/SwiftSource.cmake b/stdlib/cmake/modules/SwiftSource.cmake
1064
+
index d5d57dfd18a..39c2e07860f 100644
1065
+
--- a/stdlib/cmake/modules/SwiftSource.cmake
1066
+
+++ b/stdlib/cmake/modules/SwiftSource.cmake
1067
+
@@ -730,7 +730,7 @@ function(_compile_swift_files
1069
+
set(line_directive_tool "${SWIFT_SOURCE_DIR}/utils/line-directive")
1071
+
- if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows)
1072
+
+ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
1073
+
set(HOST_EXECUTABLE_SUFFIX .exe)
1075
+
if(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER)
1076
+
@@ -748,7 +748,7 @@ function(_compile_swift_files
1077
+
"${SWIFT_NATIVE_SWIFT_TOOLS_PATH}/swiftc${HOST_EXECUTABLE_SUFFIX}"
1078
+
"${SWIFTFILE_BOOTSTRAPPING}")
1080
+
- if(NOT ${SWIFTFILE_BOOTSTRAPPING} STREQUAL "")
1081
+
+ if(NOT "${SWIFTFILE_BOOTSTRAPPING}" STREQUAL "")
1082
+
set(target_suffix "-bootstrapping${SWIFTFILE_BOOTSTRAPPING}")
1085
+
@@ -786,7 +786,7 @@ function(_compile_swift_files
1086
+
# When building the stdlib with bootstrapping, the compiler needs
1087
+
# to pick up the stdlib from the previous bootstrapping stage, because the
1088
+
# stdlib in the current stage is not built yet.
1089
+
- if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_APPLE_PLATFORMS)
1090
+
+ if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_APPLE_PLATFORMS)
1091
+
set(set_environment_args "${CMAKE_COMMAND}" "-E" "env" "DYLD_LIBRARY_PATH=${bs_lib_dir}")
1092
+
elseif(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD")
1093
+
set(set_environment_args "${CMAKE_COMMAND}" "-E" "env" "LD_LIBRARY_PATH=${bs_lib_dir}")
1094
+
diff --git a/stdlib/public/Concurrency/CMakeLists.txt b/stdlib/public/Concurrency/CMakeLists.txt
1095
+
index ff614adce76..76e0694a731 100644
1096
+
--- a/stdlib/public/Concurrency/CMakeLists.txt
1097
+
+++ b/stdlib/public/Concurrency/CMakeLists.txt
1098
+
@@ -26,14 +26,14 @@ set(SWIFT_RUNTIME_CONCURRENCY_C_FLAGS)
1099
+
set(SWIFT_RUNTIME_CONCURRENCY_SWIFT_FLAGS)
1101
+
set(swift_concurrency_private_link_libraries)
1102
+
-if(CMAKE_SYSTEM_NAME STREQUAL Windows)
1103
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
1104
+
list(APPEND swift_concurrency_private_link_libraries Synchronization)
1107
+
set(swift_concurrency_incorporate_object_libraries_so swiftThreading)
1109
+
if("${SWIFT_CONCURRENCY_GLOBAL_EXECUTOR}" STREQUAL "dispatch")
1110
+
- if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
1111
+
+ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
1112
+
include_directories(AFTER
1113
+
${SWIFT_PATH_TO_LIBDISPATCH_SOURCE})
1115
+
@@ -61,7 +61,7 @@ endif()
1117
+
# Don't emit extended frame info on platforms other than darwin, system
1118
+
# backtracer and system debugger are unlikely to support it.
1119
+
-if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
1120
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
1121
+
list(APPEND SWIFT_RUNTIME_CONCURRENCY_C_FLAGS
1122
+
"-fswift-async-fp=${swift_concurrency_async_fp_mode}")
1123
+
list(APPEND SWIFT_RUNTIME_CONCURRENCY_SWIFT_FLAGS
1124
+
diff --git a/stdlib/public/Cxx/std/CMakeLists.txt b/stdlib/public/Cxx/std/CMakeLists.txt
1125
+
index f24d08b6b62..b805b2ed6cb 100644
1126
+
--- a/stdlib/public/Cxx/std/CMakeLists.txt
1127
+
+++ b/stdlib/public/Cxx/std/CMakeLists.txt
1129
+
set(libstdcxx_modulemap_target_list)
1130
+
foreach(sdk ${SWIFT_SDKS})
1131
+
- if(NOT ${sdk} IN_LIST SWIFT_LIBSTDCXX_PLATFORMS)
1132
+
+ if(NOT sdk IN_LIST SWIFT_LIBSTDCXX_PLATFORMS)
1136
+
@@ -86,7 +86,7 @@ foreach(sdk ${SWIFT_SDKS})
1137
+
COMPONENT sdk-overlay)
1140
+
- if(${BOOTSTRAPPING_MODE} MATCHES "BOOTSTRAPPING.*")
1141
+
+ if(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*")
1142
+
foreach(bootstrapping "0" "1")
1143
+
get_bootstrapping_path(bootstrapping_dir ${module_dir} ${bootstrapping})
1144
+
set(libstdcxx_modulemap_out_bootstrapping "${bootstrapping_dir}/libstdcxx.modulemap")
1145
+
diff --git a/stdlib/public/Platform/CMakeLists.txt b/stdlib/public/Platform/CMakeLists.txt
1146
+
index 9063931bd20..757a89eb760 100644
1147
+
--- a/stdlib/public/Platform/CMakeLists.txt
1148
+
+++ b/stdlib/public/Platform/CMakeLists.txt
1149
+
@@ -42,8 +42,8 @@ set(swiftDarwin_common_options
1150
+
DEPENDS ${darwin_depends})
1153
+
-if(${BOOTSTRAPPING_MODE} STREQUAL "BOOTSTRAPPING" AND
1154
+
- ${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS)
1155
+
+if(BOOTSTRAPPING_MODE STREQUAL "BOOTSTRAPPING" AND
1156
+
+ SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
1158
+
set(swiftDarwin_common_bootstrapping_options
1159
+
${swiftDarwin_common_options}
1160
+
@@ -179,7 +179,7 @@ foreach(sdk ${SWIFT_SDKS})
1161
+
# with its own native sysroot, create a native modulemap without a sysroot
1162
+
# prefix. This is the one we'll install instead.
1163
+
if(NOT "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${arch}_PATH}" STREQUAL "/" AND
1164
+
- NOT (${sdk} STREQUAL ANDROID AND NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL ""))
1165
+
+ NOT (sdk STREQUAL "ANDROID" AND NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL ""))
1166
+
set(glibc_sysroot_relative_modulemap_out "${module_dir}/sysroot-relative-modulemaps/glibc.modulemap")
1168
+
handle_gyb_source_single(glibc_modulemap_native_target
1169
+
diff --git a/stdlib/public/SwiftOnoneSupport/CMakeLists.txt b/stdlib/public/SwiftOnoneSupport/CMakeLists.txt
1170
+
index 50efa52b7e1..cf6f09bcf69 100644
1171
+
--- a/stdlib/public/SwiftOnoneSupport/CMakeLists.txt
1172
+
+++ b/stdlib/public/SwiftOnoneSupport/CMakeLists.txt
1173
+
@@ -10,7 +10,7 @@ set(swiftOnoneSupport_common_options
1174
+
SWIFT_COMPILE_FLAGS "-parse-stdlib" "-Xllvm" "-sil-inline-generics=false" "-Xfrontend" "-validate-tbd-against-ir=none" "-Xfrontend" "-check-onone-completeness" "-Xfrontend" "-disable-access-control" "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}" "${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}"
1175
+
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}")
1177
+
-if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND ${BOOTSTRAPPING_MODE} STREQUAL "BOOTSTRAPPING")
1178
+
+if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND BOOTSTRAPPING_MODE STREQUAL "BOOTSTRAPPING")
1180
+
set(swiftOnoneSupport_common_bootstrapping_options
1182
+
diff --git a/stdlib/public/SwiftShims/swift/shims/CMakeLists.txt b/stdlib/public/SwiftShims/swift/shims/CMakeLists.txt
1183
+
index c54b2cf84b2..f925940d8a2 100644
1184
+
--- a/stdlib/public/SwiftShims/swift/shims/CMakeLists.txt
1185
+
+++ b/stdlib/public/SwiftShims/swift/shims/CMakeLists.txt
1186
+
@@ -152,7 +152,7 @@ if(NOT SWIFT_BUILT_STANDALONE)
1190
+
-if(${BOOTSTRAPPING_MODE} MATCHES "BOOTSTRAPPING.*")
1191
+
+if(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*")
1192
+
foreach(bootstrapping "0" "1")
1193
+
get_bootstrapping_path(outdir ${SWIFTLIB_DIR} ${bootstrapping})
1194
+
set(target_name "symlink-headers-bootstrapping${bootstrapping}")
1195
+
diff --git a/stdlib/public/core/CMakeLists.txt b/stdlib/public/core/CMakeLists.txt
1196
+
index c2217c9f294..be0d826b29d 100644
1197
+
--- a/stdlib/public/core/CMakeLists.txt
1198
+
+++ b/stdlib/public/core/CMakeLists.txt
1199
+
@@ -251,18 +251,18 @@ set(swift_core_framework_depends)
1200
+
set(swift_core_private_link_libraries)
1201
+
set(swift_stdlib_compile_flags "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}")
1203
+
-if(SWIFT_PRIMARY_VARIANT_SDK STREQUAL CYGWIN)
1204
+
+if(SWIFT_PRIMARY_VARIANT_SDK STREQUAL "CYGWIN")
1205
+
# TODO(compnerd) cache this variable to permit re-configuration
1206
+
execute_process(COMMAND "cygpath" "-u" "$ENV{SYSTEMROOT}" OUTPUT_VARIABLE ENV_SYSTEMROOT)
1207
+
list(APPEND swift_core_private_link_libraries "${ENV_SYSTEMROOT}/system32/psapi.dll")
1208
+
-elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL FREEBSD)
1209
+
+elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL "FREEBSD")
1210
+
find_library(EXECINFO_LIBRARY execinfo)
1211
+
list(APPEND swift_core_private_link_libraries ${EXECINFO_LIBRARY})
1212
+
-elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL LINUX)
1213
+
+elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL "LINUX")
1214
+
if(SWIFT_BUILD_STATIC_STDLIB)
1215
+
list(APPEND swift_core_private_link_libraries)
1217
+
-elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL WINDOWS)
1218
+
+elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL "WINDOWS")
1219
+
list(APPEND swift_core_private_link_libraries shell32;DbgHelp;Synchronization)
1222
+
@@ -331,7 +331,7 @@ set(swiftCore_common_options
1223
+
set(swiftCore_common_dependencies
1224
+
copy_shim_headers "${SWIFTLIB_DIR}/shims" ${GROUP_INFO_JSON_FILE})
1226
+
-if(${BOOTSTRAPPING_MODE} STREQUAL "BOOTSTRAPPING")
1227
+
+if(BOOTSTRAPPING_MODE STREQUAL "BOOTSTRAPPING")
1229
+
set(b0_deps symlink-headers-bootstrapping0)
1230
+
set(b1_deps symlink-headers-bootstrapping1)
1231
+
diff --git a/stdlib/public/runtime/CMakeLists.txt b/stdlib/public/runtime/CMakeLists.txt
1232
+
index e46c37d626b..db503543b6b 100644
1233
+
--- a/stdlib/public/runtime/CMakeLists.txt
1234
+
+++ b/stdlib/public/runtime/CMakeLists.txt
1235
+
@@ -163,7 +163,7 @@ foreach(sdk ${SWIFT_SDKS})
1236
+
# set(swiftrtObject "$<TARGET_OBJECTS:swiftImageRegistrationObject${SWIFT_SDK_${sdk}_OBJECT_FORMAT}-${arch_suffix}>")
1237
+
set(swiftrtObject ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/swiftImageRegistrationObject${SWIFT_SDK_${sdk}_OBJECT_FORMAT}-${arch_suffix}.dir/SwiftRT-${SWIFT_SDK_${sdk}_OBJECT_FORMAT}.cpp${CMAKE_C_OUTPUT_EXTENSION})
1239
+
- if(sdk STREQUAL WINDOWS)
1240
+
+ if(sdk STREQUAL "WINDOWS")
1241
+
set(extension .obj)
1244
+
@@ -209,12 +209,12 @@ foreach(sdk ${SWIFT_SDKS})
1246
+
# Generate the static-stdlib-args.lnk file used by -static-stdlib option for
1247
+
# 'GenericUnix' (eg linux)
1248
+
- if(${SWIFT_SDK_${sdk}_OBJECT_FORMAT} STREQUAL ELF)
1249
+
+ if(SWIFT_SDK_${sdk}_OBJECT_FORMAT STREQUAL "ELF")
1250
+
string(TOLOWER "${sdk}" lowercase_sdk)
1251
+
set(libpthread -lpthread)
1252
+
set(concurrency_libs)
1253
+
set(android_libraries)
1254
+
- if(${sdk} STREQUAL ANDROID)
1255
+
+ if(sdk STREQUAL "ANDROID")
1256
+
set(android_libraries -llog)
1258
+
elseif(SWIFT_CONCURRENCY_USES_DISPATCH)
1259
+
diff --git a/stdlib/toolchain/legacy_layouts/CMakeLists.txt b/stdlib/toolchain/legacy_layouts/CMakeLists.txt
1260
+
index ad18c6b1b32..96da3906821 100644
1261
+
--- a/stdlib/toolchain/legacy_layouts/CMakeLists.txt
1262
+
+++ b/stdlib/toolchain/legacy_layouts/CMakeLists.txt
1263
+
@@ -55,7 +55,7 @@ foreach(sdk ${SWIFT_SDKS})
1267
+
-if(${BOOTSTRAPPING_MODE} MATCHES "BOOTSTRAPPING.*")
1268
+
+if(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*")
1269
+
# The resource dir for bootstrapping0 may be used explicitly
1270
+
# to cross compile for other architectures, so we would need
1271
+
# to have all the legacy layouts in there
1272
+
diff --git a/tools/SourceKit/CMakeLists.txt b/tools/SourceKit/CMakeLists.txt
1273
+
index f87720f9c80..6c0c0800bc4 100644
1274
+
--- a/tools/SourceKit/CMakeLists.txt
1275
+
+++ b/tools/SourceKit/CMakeLists.txt
1276
+
@@ -82,7 +82,7 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
1277
+
# Add deployment target to C/C++ compiler and linker flags.
1278
+
# FIXME: CMAKE_OSX_DEPLOYMENT_TARGET falls over when used for iOS versions.
1280
+
- if (${SOURCEKIT_DEPLOYMENT_OS} MATCHES "^macosx")
1281
+
+ if (SOURCEKIT_DEPLOYMENT_OS MATCHES "^macosx")
1282
+
set(CMAKE_XCODE_ATTRIBUTE_MACOSX_DEPLOYMENT_TARGET ${SOURCEKIT_DEPLOYMENT_TARGET})
1284
+
set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET ${SOURCEKIT_DEPLOYMENT_TARGET})
1285
+
@@ -101,7 +101,7 @@ if(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
1288
+
if(SWIFT_BUILD_HOST_DISPATCH)
1289
+
- if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
1290
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS")
1291
+
set(SOURCEKIT_RUNTIME_DIR bin)
1293
+
set(SOURCEKIT_RUNTIME_DIR lib)
1294
+
@@ -114,7 +114,7 @@ if(SWIFT_BUILD_HOST_DISPATCH)
1295
+
DESTINATION ${SOURCEKIT_RUNTIME_DIR}
1296
+
COMPONENT sourcekit-inproc)
1298
+
- if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
1299
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS")
1300
+
swift_install_in_component(FILES
1301
+
$<TARGET_LINKER_FILE:dispatch>
1302
+
$<TARGET_LINKER_FILE:BlocksRuntime>
1303
+
diff --git a/tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake b/tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake
1304
+
index 14d9a99a13a..bc26b263848 100644
1305
+
--- a/tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake
1306
+
+++ b/tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake
1307
+
@@ -8,7 +8,7 @@ function(add_sourcekit_default_compiler_flags target)
1308
+
_add_host_variant_link_flags(${target})
1310
+
# Set compilation and link flags.
1311
+
- if(${SWIFT_HOST_VARIANT_SDK} STREQUAL WINDOWS)
1312
+
+ if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS")
1313
+
swift_windows_include_for_arch(${SWIFT_HOST_VARIANT_ARCH}
1314
+
${SWIFT_HOST_VARIANT_ARCH}_INCLUDE)
1315
+
target_include_directories(${target} SYSTEM PRIVATE
1316
+
@@ -30,7 +30,7 @@ function(add_sourcekit_swift_runtime_link_flags target path HAS_SWIFT_MODULES)
1320
+
- if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS)
1321
+
+ if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
1323
+
# Lists of rpaths that we are going to add to our executables.
1325
+
@@ -118,7 +118,7 @@ function(add_sourcekit_swift_runtime_link_flags target path HAS_SWIFT_MODULES)
1327
+
elseif(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD" AND HAS_SWIFT_MODULES AND ASKD_BOOTSTRAPPING_MODE)
1328
+
set(swiftrt "swiftImageRegistrationObject${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_OBJECT_FORMAT}-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}-${SWIFT_HOST_VARIANT_ARCH}")
1329
+
- if(${ASKD_BOOTSTRAPPING_MODE} MATCHES "HOSTTOOLS|CROSSCOMPILE")
1330
+
+ if(ASKD_BOOTSTRAPPING_MODE MATCHES "HOSTTOOLS|CROSSCOMPILE")
1331
+
# At build time and run time, link against the swift libraries in the
1332
+
# installed host toolchain.
1333
+
get_filename_component(swift_bin_dir ${SWIFT_EXEC_FOR_SWIFT_MODULES} DIRECTORY)
1334
+
@@ -163,7 +163,7 @@ function(add_sourcekit_swift_runtime_link_flags target path HAS_SWIFT_MODULES)
1335
+
# able to fall back to the SDK directory for libswiftCore et al.
1336
+
if (BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*")
1337
+
if (NOT "${bootstrapping}" STREQUAL "1")
1338
+
- if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS)
1339
+
+ if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
1340
+
target_link_directories(${target} PRIVATE "${sdk_dir}")
1342
+
# Include the abi stable system stdlib in our rpath.
1343
+
diff --git a/tools/SourceKit/lib/Support/CMakeLists.txt b/tools/SourceKit/lib/Support/CMakeLists.txt
1344
+
index c4e2cbcd31e..a47b2347a12 100644
1345
+
--- a/tools/SourceKit/lib/Support/CMakeLists.txt
1346
+
+++ b/tools/SourceKit/lib/Support/CMakeLists.txt
1347
+
@@ -9,7 +9,7 @@ target_link_libraries(SourceKitSupport PRIVATE
1351
+
-if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
1352
+
+if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
1353
+
target_link_libraries(SourceKitSupport INTERFACE
1356
+
diff --git a/tools/SourceKit/tools/complete-test/CMakeLists.txt b/tools/SourceKit/tools/complete-test/CMakeLists.txt
1357
+
index ec3437650a0..d1b3fe3b36a 100644
1358
+
--- a/tools/SourceKit/tools/complete-test/CMakeLists.txt
1359
+
+++ b/tools/SourceKit/tools/complete-test/CMakeLists.txt
1360
+
@@ -7,13 +7,13 @@ if(SWIFT_SOURCEKIT_USE_INPROC_LIBRARY)
1362
+
target_link_libraries(complete-test PRIVATE sourcekitd)
1364
+
-if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
1365
+
+if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
1366
+
target_link_libraries(complete-test PRIVATE
1371
+
-if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
1372
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
1373
+
set_target_properties(complete-test PROPERTIES
1374
+
INSTALL_RPATH "@executable_path/../lib")
1375
+
target_link_options(complete-test PRIVATE
1376
+
diff --git a/tools/SourceKit/tools/sourcekitd-repl/CMakeLists.txt b/tools/SourceKit/tools/sourcekitd-repl/CMakeLists.txt
1377
+
index d4a3a77df2a..f537ad74544 100644
1378
+
--- a/tools/SourceKit/tools/sourcekitd-repl/CMakeLists.txt
1379
+
+++ b/tools/SourceKit/tools/sourcekitd-repl/CMakeLists.txt
1380
+
@@ -7,7 +7,7 @@ if(SWIFT_SOURCEKIT_USE_INPROC_LIBRARY)
1382
+
target_link_libraries(sourcekitd-repl PRIVATE sourcekitd)
1384
+
-if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
1385
+
+if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
1386
+
target_link_libraries(sourcekitd-repl PRIVATE
1389
+
@@ -15,7 +15,7 @@ endif()
1390
+
target_link_libraries(sourcekitd-repl PRIVATE
1393
+
-if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
1394
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
1395
+
set_target_properties(sourcekitd-repl PROPERTIES
1396
+
INSTALL_RPATH "@executable_path/../lib")
1397
+
target_link_options(sourcekitd-repl PRIVATE
1398
+
diff --git a/tools/SourceKit/tools/sourcekitd-test/CMakeLists.txt b/tools/SourceKit/tools/sourcekitd-test/CMakeLists.txt
1399
+
index 91c28f371c4..e5f7aa5c9fb 100644
1400
+
--- a/tools/SourceKit/tools/sourcekitd-test/CMakeLists.txt
1401
+
+++ b/tools/SourceKit/tools/sourcekitd-test/CMakeLists.txt
1402
+
@@ -17,7 +17,7 @@ if(SWIFT_SOURCEKIT_USE_INPROC_LIBRARY)
1404
+
target_link_libraries(sourcekitd-test PRIVATE sourcekitd)
1406
+
-if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
1407
+
+if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
1408
+
target_link_libraries(sourcekitd-test PRIVATE
1411
+
@@ -25,7 +25,7 @@ endif()
1413
+
add_dependencies(sourcekitd-test sourcekitdTestOptionsTableGen)
1415
+
-if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
1416
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
1417
+
set_target_properties(sourcekitd-test PROPERTIES
1418
+
INSTALL_RPATH "@executable_path/../lib")
1419
+
target_link_options(sourcekitd-test PRIVATE
1420
+
diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt
1421
+
index 4521356ffc6..ab6dad7b273 100644
1422
+
--- a/tools/driver/CMakeLists.txt
1423
+
+++ b/tools/driver/CMakeLists.txt
1424
+
@@ -10,7 +10,7 @@ function(add_swift_parser_link_libraries target)
1428
+
-if(${BOOTSTRAPPING_MODE} MATCHES "BOOTSTRAPPING.*")
1429
+
+if(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*")
1431
+
# Bootstrapping - level 0
1432
+
# For more information on how bootstrapping works, see docs/SwiftInTheCompiler.md
1433
+
diff --git a/tools/libSwiftScan/CMakeLists.txt b/tools/libSwiftScan/CMakeLists.txt
1434
+
index f11c2a99758..93beb4629b0 100644
1435
+
--- a/tools/libSwiftScan/CMakeLists.txt
1436
+
+++ b/tools/libSwiftScan/CMakeLists.txt
1437
+
@@ -8,7 +8,7 @@ add_swift_host_library(libSwiftScan SHARED
1439
+
c-include-check.c)
1441
+
-if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS)
1442
+
+if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS)
1443
+
# Workaround for a linker crash related to autolinking: rdar://77839981
1444
+
set_property(TARGET libSwiftScan APPEND_STRING PROPERTY
1445
+
LINK_FLAGS " -lobjc ")
1446
+
diff --git a/unittests/Basic/CMakeLists.txt b/unittests/Basic/CMakeLists.txt
1447
+
index 547751e6cac..10b413ce732 100644
1448
+
--- a/unittests/Basic/CMakeLists.txt
1449
+
+++ b/unittests/Basic/CMakeLists.txt
1450
+
@@ -49,6 +49,6 @@ target_link_libraries(SwiftBasicTests
1451
+
LLVMTestingSupport
1454
+
-if(SWIFT_HOST_VARIANT STREQUAL windows)
1455
+
+if(SWIFT_HOST_VARIANT STREQUAL "windows")
1456
+
target_link_libraries(SwiftBasicTests PRIVATE Synchronization)
1458
+
diff --git a/unittests/Threading/CMakeLists.txt b/unittests/Threading/CMakeLists.txt
1459
+
index 5e0f27c089d..239630d038c 100644
1460
+
--- a/unittests/Threading/CMakeLists.txt
1461
+
+++ b/unittests/Threading/CMakeLists.txt
1462
+
@@ -14,7 +14,7 @@ if(("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "${SWIFT_PRIMARY_VARIANT_SDK}") AND
1463
+
swiftCore${SWIFT_PRIMARY_VARIANT_SUFFIX}
1466
+
- if(SWIFT_HOST_VARIANT STREQUAL windows)
1467
+
+ if(SWIFT_HOST_VARIANT STREQUAL "windows")
1468
+
target_link_libraries(SwiftThreadingTests PRIVATE Synchronization)
1471
+
diff --git a/unittests/runtime/CMakeLists.txt b/unittests/runtime/CMakeLists.txt
1472
+
index 79df463c0ed..cef40263785 100644
1473
+
--- a/unittests/runtime/CMakeLists.txt
1474
+
+++ b/unittests/runtime/CMakeLists.txt
1475
+
@@ -63,7 +63,7 @@ if(("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "${SWIFT_PRIMARY_VARIANT_SDK}") AND
1476
+
list(APPEND PLATFORM_TARGET_LINK_LIBRARIES
1477
+
${EXECINFO_LIBRARY}
1479
+
- elseif(SWIFT_HOST_VARIANT STREQUAL windows)
1480
+
+ elseif(SWIFT_HOST_VARIANT STREQUAL "windows")
1481
+
list(APPEND PLATFORM_TARGET_LINK_LIBRARIES DbgHelp;Synchronization)
1484
+
diff --git a/unittests/runtime/LongTests/CMakeLists.txt b/unittests/runtime/LongTests/CMakeLists.txt
1485
+
index 592e532f8cf..37b5e00714e 100644
1486
+
--- a/unittests/runtime/LongTests/CMakeLists.txt
1487
+
+++ b/unittests/runtime/LongTests/CMakeLists.txt
1488
+
@@ -30,7 +30,7 @@ if(("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "${SWIFT_PRIMARY_VARIANT_SDK}") AND
1489
+
list(APPEND PLATFORM_TARGET_LINK_LIBRARIES
1490
+
${EXECINFO_LIBRARY}
1492
+
- elseif(SWIFT_HOST_VARIANT STREQUAL windows)
1493
+
+ elseif(SWIFT_HOST_VARIANT STREQUAL "windows")
1494
+
list(APPEND PLATFORM_TARGET_LINK_LIBRARIES DbgHelp;Synchronization)
1497
+
diff --git a/utils/api_checker/CMakeLists.txt b/utils/api_checker/CMakeLists.txt
1498
+
index e664a73ddd9..fea720f6095 100644
1499
+
--- a/utils/api_checker/CMakeLists.txt
1500
+
+++ b/utils/api_checker/CMakeLists.txt
1501
+
@@ -16,7 +16,7 @@ set(SWIFTLIB_DIR "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib/swift")
1502
+
set(dest "${SWIFTLIB_DIR}/${framework}")
1503
+
set(source "${CMAKE_CURRENT_SOURCE_DIR}/${framework}")
1505
+
-if(CMAKE_SYSTEM_NAME STREQUAL Windows)
1506
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
1507
+
set(CMAKE_SYMLINK_COMMAND copy)
1509
+
set(CMAKE_SYMLINK_COMMAND create_symlink)