From 112681f7f5927588569b225d926ca9f5f9ec98b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phan=20Kochen?= Date: Sat, 29 Apr 2023 20:34:40 +0200 Subject: [PATCH] build: fix accidental cmake expansions As of CMake 3.25, there are now global variables `LINUX=1`, `ANDROID=1`, etc. These conflict with expressions that used these names as unquoted strings in positions where CMake accepts 'variable|string', for example: - `if(sdk STREQUAL LINUX)` would fail, because `LINUX` is now defined and expands to 1, where it would previously coerce to a string. - `if(${sdk} STREQUAL "LINUX")` would fail if `sdk=LINUX`, because the left-hand side expands twice. In this patch, I looked for a number of patterns to fix up, sometimes a little defensively: - Quoted right-hand side of `STREQUAL` where I was confident it was intended to be a string literal. - Removed manual variable expansion on left-hand side of `STREQUAL`, `MATCHES` and `IN_LIST` where I was confident it was unintended. Fixes #65028. --- CMakeLists.txt | 14 +-- SwiftCompilerSources/CMakeLists.txt | 16 +-- .../modules/AddSwiftBenchmarkSuite.cmake | 4 +- cmake/modules/AddSwift.cmake | 78 ++++++------ cmake/modules/Libdispatch.cmake | 18 +-- cmake/modules/SwiftComponents.cmake | 2 +- cmake/modules/SwiftConfigureSDK.cmake | 16 +-- cmake/modules/SwiftWindowsSupport.cmake | 10 +- include/swift/AST/CMakeLists.txt | 2 +- lib/AST/CMakeLists.txt | 2 +- lib/Migrator/CMakeLists.txt | 2 +- lib/Parse/CMakeLists.txt | 2 +- lib/Sema/CMakeLists.txt | 2 +- lib/SwiftRemoteMirror/CMakeLists.txt | 2 +- stdlib/cmake/modules/AddSwiftStdlib.cmake | 116 +++++++++--------- stdlib/cmake/modules/SwiftSource.cmake | 6 +- stdlib/public/Concurrency/CMakeLists.txt | 6 +- stdlib/public/Cxx/std/CMakeLists.txt | 4 +- stdlib/public/Platform/CMakeLists.txt | 6 +- .../public/SwiftOnoneSupport/CMakeLists.txt | 2 +- .../SwiftShims/swift/shims/CMakeLists.txt | 2 +- stdlib/public/core/CMakeLists.txt | 10 +- stdlib/public/runtime/CMakeLists.txt | 6 +- .../toolchain/legacy_layouts/CMakeLists.txt | 2 +- tools/SourceKit/CMakeLists.txt | 6 +- .../cmake/modules/AddSwiftSourceKit.cmake | 8 +- tools/SourceKit/lib/Support/CMakeLists.txt | 2 +- .../tools/complete-test/CMakeLists.txt | 4 +- .../tools/sourcekitd-repl/CMakeLists.txt | 4 +- .../tools/sourcekitd-test/CMakeLists.txt | 4 +- tools/driver/CMakeLists.txt | 2 +- tools/libSwiftScan/CMakeLists.txt | 2 +- unittests/Basic/CMakeLists.txt | 2 +- unittests/Threading/CMakeLists.txt | 2 +- unittests/runtime/CMakeLists.txt | 2 +- unittests/runtime/LongTests/CMakeLists.txt | 2 +- utils/api_checker/CMakeLists.txt | 2 +- 37 files changed, 186 insertions(+), 186 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eaab71fbaf086..45aa5d65dd361 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -119,7 +119,7 @@ else() if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64|amd64") set(SWIFT_HOST_VARIANT_ARCH_default "x86_64") elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64|arm64") - if(SWIFT_HOST_VARIANT_SDK_default STREQUAL OSX) + if(SWIFT_HOST_VARIANT_SDK_default STREQUAL "OSX") set(SWIFT_HOST_VARIANT_ARCH_default "arm64") else() set(SWIFT_HOST_VARIANT_ARCH_default "aarch64") @@ -336,7 +336,7 @@ set(SWIFT_STDLIB_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING # - MultiThreadedDebug (/MTd) # - MultiThreadedDLL (/MD) # - MultiThreadedDebugDLL (/MDd) -if(CMAKE_BUILD_TYPE STREQUAL Debug) +if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(SWIFT_STDLIB_MSVC_RUNTIME_LIBRARY_default MultiThreadedDebugDLL) else() set(SWIFT_STDLIB_MSVC_RUNTIME_LIBRARY_default MultiThreadedDLL) @@ -598,7 +598,7 @@ if(SWIFT_BUILT_STANDALONE) project(Swift C CXX ASM) endif() -if(MSVC OR "${CMAKE_SIMULATE_ID}" STREQUAL MSVC) +if(MSVC OR "${CMAKE_SIMULATE_ID}" STREQUAL "MSVC") include(ClangClCompileRules) elseif(UNIX) include(UnixCompileRules) @@ -627,7 +627,7 @@ if(SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY AND "${SWIFT_CONCURRENCY_GLOBAL_EXECUTO endif() set(SWIFT_BUILD_HOST_DISPATCH FALSE) -if(SWIFT_ENABLE_DISPATCH AND NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) +if(SWIFT_ENABLE_DISPATCH AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") # Only build libdispatch for the host if the host tools are being built and # specifically if these two libraries that depend on it are built. if(SWIFT_INCLUDE_TOOLS AND SWIFT_BUILD_SOURCEKIT) @@ -801,11 +801,11 @@ endif() # build environment. if(LLVM_USE_LINKER) set(SWIFT_USE_LINKER_default "${LLVM_USE_LINKER}") -elseif(${SWIFT_HOST_VARIANT_SDK} STREQUAL ANDROID) +elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID") set(SWIFT_USE_LINKER_default "lld") -elseif(CMAKE_SYSTEM_NAME STREQUAL Windows AND NOT CMAKE_HOST_SYSTEM_NAME STREQUAL Windows) +elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") set(SWIFT_USE_LINKER_default "lld") -elseif(CMAKE_SYSTEM_NAME STREQUAL Darwin) +elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(SWIFT_USE_LINKER_default "") else() set(SWIFT_USE_LINKER_default "gold") diff --git a/SwiftCompilerSources/CMakeLists.txt b/SwiftCompilerSources/CMakeLists.txt index 225e72663a103..d14e0ccecac8b 100644 --- a/SwiftCompilerSources/CMakeLists.txt +++ b/SwiftCompilerSources/CMakeLists.txt @@ -80,7 +80,7 @@ function(add_swift_compiler_modules_library name) list(APPEND swift_compile_options "-Xfrontend" "-disable-implicit-string-processing-module-import") endif() - if(CMAKE_BUILD_TYPE STREQUAL Debug) + if(CMAKE_BUILD_TYPE STREQUAL "Debug") list(APPEND swift_compile_options "-g") else() list(APPEND swift_compile_options "-O" "-cross-module-optimization") @@ -98,7 +98,7 @@ function(add_swift_compiler_modules_library name) set(deployment_version "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_DEPLOYMENT_VERSION}") set(sdk_path "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${SWIFT_HOST_VARIANT_ARCH}_PATH}") set(sdk_option "-sdk" "${sdk_path}") - if(${BOOTSTRAPPING_MODE} STREQUAL "CROSSCOMPILE-WITH-HOSTLIBS") + if(BOOTSTRAPPING_MODE STREQUAL "CROSSCOMPILE-WITH-HOSTLIBS") # Let the cross-compiled compile don't pick up the compiled stdlib by providing # an (almost) empty resource dir. # The compiler will instead pick up the stdlib from the SDK. @@ -117,7 +117,7 @@ function(add_swift_compiler_modules_library name) message(ERROR "libc++ not found in the toolchain.") endif() endif() - elseif(${BOOTSTRAPPING_MODE} STREQUAL "CROSSCOMPILE") + elseif(BOOTSTRAPPING_MODE STREQUAL "CROSSCOMPILE") set(sdk_option "-sdk" "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${SWIFT_HOST_VARIANT_ARCH}_PATH}") get_filename_component(swift_exec_bin_dir ${ALS_SWIFT_EXEC} DIRECTORY) set(sdk_option ${sdk_option} "-resource-dir" "${swift_exec_bin_dir}/../lib/swift") @@ -253,13 +253,13 @@ else() add_dependencies(importedHeaderDependencies swift-ast-generated-headers) target_include_directories(importedHeaderDependencies PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../include/swift") - if(${BOOTSTRAPPING_MODE} MATCHES "HOSTTOOLS|CROSSCOMPILE") + if(BOOTSTRAPPING_MODE MATCHES "HOSTTOOLS|CROSSCOMPILE") if (NOT SWIFT_EXEC_FOR_SWIFT_MODULES) message(FATAL_ERROR "Need a swift toolchain building swift compiler sources") endif() - if(${BOOTSTRAPPING_MODE} STREQUAL "HOSTTOOLS") + if(BOOTSTRAPPING_MODE STREQUAL "HOSTTOOLS") if(NOT SWIFT_EXEC_FOR_SWIFT_MODULES STREQUAL CMAKE_Swift_COMPILER) 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).") endif() @@ -275,11 +275,11 @@ else() add_swift_compiler_modules_library(swiftCompilerModules SWIFT_EXEC "${SWIFT_EXEC_FOR_SWIFT_MODULES}") - elseif(${BOOTSTRAPPING_MODE} MATCHES "BOOTSTRAPPING.*") + elseif(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*") set(b0_deps swift-frontend-bootstrapping0 symlink-headers-bootstrapping0) set(b1_deps swift-frontend-bootstrapping1 symlink-headers-bootstrapping1) - if(${BOOTSTRAPPING_MODE} STREQUAL "BOOTSTRAPPING") + if(BOOTSTRAPPING_MODE STREQUAL "BOOTSTRAPPING") list(APPEND b0_deps swiftCore-bootstrapping0) list(APPEND b1_deps swiftCore-bootstrapping1) if(CMAKE_BUILD_TYPE STREQUAL "Debug") @@ -290,7 +290,7 @@ else() list(APPEND b0_deps swiftDarwin-bootstrapping0) list(APPEND b1_deps swiftDarwin-bootstrapping1) endif() - if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_LIBSTDCXX_PLATFORMS) + if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_LIBSTDCXX_PLATFORMS) list(APPEND b0_deps copy-libstdcxx-modulemap-bootstrapping0 copy-libstdcxx-header-bootstrapping0) list(APPEND b1_deps copy-libstdcxx-modulemap-bootstrapping1 copy-libstdcxx-header-bootstrapping1) endif() diff --git a/benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake b/benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake index dd989efe61824..3ed3775421460 100644 --- a/benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake +++ b/benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake @@ -21,7 +21,7 @@ macro(configure_build) # thus allowing the --host-cc build-script argument to work here. get_filename_component(c_compiler ${CMAKE_C_COMPILER} NAME) - if(${c_compiler} STREQUAL "clang") + if(c_compiler STREQUAL "clang") set(CLANG_EXEC ${CMAKE_C_COMPILER}) else() if(NOT SWIFT_DARWIN_XCRUN_TOOLCHAIN) @@ -713,7 +713,7 @@ function(swift_benchmark_compile) if(NOT SWIFT_BENCHMARK_BUILT_STANDALONE) set(stdlib_dependencies "swift-frontend" "swiftCore-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}") - if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS) + if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) list(APPEND stdlib_dependencies "swiftDarwin-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}") endif() foreach(stdlib_dependency ${UNIVERSAL_LIBRARY_NAMES_${SWIFT_BENCHMARK_COMPILE_PLATFORM}}) diff --git a/cmake/modules/AddSwift.cmake b/cmake/modules/AddSwift.cmake index 58c7eb1bd4f57..96c4fe804f9a2 100644 --- a/cmake/modules/AddSwift.cmake +++ b/cmake/modules/AddSwift.cmake @@ -63,16 +63,16 @@ function(_set_target_prefix_and_suffix target kind sdk) precondition(kind MESSAGE "kind is required") precondition(sdk MESSAGE "sdk is required") - if(${sdk} STREQUAL ANDROID) - if(${kind} STREQUAL STATIC) + if(sdk STREQUAL "ANDROID") + if(kind STREQUAL "STATIC") set_target_properties(${target} PROPERTIES PREFIX "lib" SUFFIX ".a") - elseif(${kind} STREQUAL SHARED) + elseif(kind STREQUAL "SHARED") set_target_properties(${target} PROPERTIES PREFIX "lib" SUFFIX ".so") endif() - elseif(${sdk} STREQUAL WINDOWS) - if(${kind} STREQUAL STATIC) + elseif(sdk STREQUAL "WINDOWS") + if(kind STREQUAL "STATIC") set_target_properties(${target} PROPERTIES PREFIX "" SUFFIX ".lib") - elseif(${kind} STREQUAL SHARED) + elseif(kind STREQUAL "SHARED") set_target_properties(${target} PROPERTIES PREFIX "" SUFFIX ".dll") endif() endif() @@ -115,7 +115,7 @@ function(_add_host_variant_c_compile_link_flags name) set(DEPLOYMENT_VERSION "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_DEPLOYMENT_VERSION}") endif() - if(SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID") set(DEPLOYMENT_VERSION ${SWIFT_ANDROID_API_LEVEL}) endif() @@ -151,7 +151,7 @@ function(_add_host_variant_c_compile_link_flags name) target_compile_options(${name} PRIVATE $<$:--sysroot=${_sysroot}>) endif() - if(SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID") # Make sure the Android NDK lld is used. swift_android_tools_path(${SWIFT_HOST_VARIANT_ARCH} tools_path) target_compile_options(${name} PRIVATE $<$:-B${tools_path}>) @@ -223,7 +223,7 @@ function(_add_host_variant_c_compile_flags target) endif() endif() - if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS") # MSVC/clang-cl don't support -fno-pic or -fms-compatibility-version. if(NOT SWIFT_COMPILER_IS_MSVC_LIKE) target_compile_options(${target} PRIVATE @@ -276,14 +276,14 @@ function(_add_host_variant_c_compile_flags target) # NOTE(compnerd) workaround LLVM invoking `add_definitions(-D_DEBUG)` which # causes failures for the runtime library when cross-compiling due to # undefined symbols from the standard library. - if(NOT CMAKE_BUILD_TYPE STREQUAL Debug) + if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") target_compile_options(${target} PRIVATE $<$:-U_DEBUG>) endif() endif() - if(SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID) - if(SWIFT_HOST_VARIANT_ARCH STREQUAL x86_64) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID") + if(SWIFT_HOST_VARIANT_ARCH STREQUAL "x86_64") # NOTE(compnerd) Android NDK 21 or lower will generate library calls to # `__sync_val_compare_and_swap_16` rather than lowering to the CPU's # `cmpxchg16b` instruction as the `cx16` feature is disabled due to a bug @@ -317,15 +317,15 @@ function(_add_host_variant_c_compile_flags target) $<$:-fprofile-instr-generate -fcoverage-mapping>) endif() - if((SWIFT_HOST_VARIANT_ARCH STREQUAL armv7 OR - SWIFT_HOST_VARIANT_ARCH STREQUAL aarch64) AND - (SWIFT_HOST_VARIANT_SDK STREQUAL LINUX OR - SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID)) + if((SWIFT_HOST_VARIANT_ARCH STREQUAL "armv7" OR + SWIFT_HOST_VARIANT_ARCH STREQUAL "aarch64") AND + (SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX" OR + SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID")) target_compile_options(${target} PRIVATE $<$:-funwind-tables>) endif() if(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX") - if(SWIFT_HOST_VARIANT_ARCH STREQUAL x86_64) + if(SWIFT_HOST_VARIANT_ARCH STREQUAL "x86_64") # this is the minimum architecture that supports 16 byte CAS, which is # necessary to avoid a dependency to libatomic target_compile_options(${target} PRIVATE $<$:-march=core2>) @@ -336,7 +336,7 @@ function(_add_host_variant_c_compile_flags target) # llvm/llvm-project@66395c9, which can cause incompatibilities with the Swift # frontend if not built the same way. if("${SWIFT_HOST_VARIANT_ARCH}" MATCHES "armv6|armv7|i686" AND - NOT (SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID AND SWIFT_ANDROID_API_LEVEL LESS 24)) + NOT (SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID" AND SWIFT_ANDROID_API_LEVEL LESS 24)) target_compile_definitions(${target} PRIVATE $<$:_LARGEFILE_SOURCE _FILE_OFFSET_BITS=64>) endif() @@ -345,19 +345,19 @@ endfunction() function(_add_host_variant_link_flags target) _add_host_variant_c_compile_link_flags(${target}) - if(SWIFT_HOST_VARIANT_SDK STREQUAL LINUX) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX") target_link_libraries(${target} PRIVATE pthread dl) if("${SWIFT_HOST_VARIANT_ARCH}" MATCHES "armv5|armv6|armv7|i686") target_link_libraries(${target} PRIVATE atomic) endif() - elseif(SWIFT_HOST_VARIANT_SDK STREQUAL FREEBSD) + elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "FREEBSD") target_link_libraries(${target} PRIVATE pthread) - elseif(SWIFT_HOST_VARIANT_SDK STREQUAL CYGWIN) + elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "CYGWIN") # No extra libraries required. - elseif(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS) + elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS") # We don't need to add -nostdlib using MSVC or clang-cl, as MSVC and # clang-cl rely on auto-linking entirely. if(NOT SWIFT_COMPILER_IS_MSVC_LIKE) @@ -375,12 +375,12 @@ function(_add_host_variant_link_flags target) # the Windows SDK on case sensitive file systems. target_link_directories(${target} PRIVATE ${CMAKE_BINARY_DIR}/winsdk_lib_${SWIFT_HOST_VARIANT_ARCH}_symlinks) - elseif(SWIFT_HOST_VARIANT_SDK STREQUAL HAIKU) + elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "HAIKU") target_link_libraries(${target} PRIVATE bsd) target_link_options(${target} PRIVATE "SHELL:-Xlinker -Bsymbolic") - elseif(SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID) + elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID") target_link_libraries(${target} PRIVATE dl log @@ -422,7 +422,7 @@ function(_add_host_variant_link_flags target) # # TODO: Evaluate/enable -f{function,data}-sections --gc-sections for bfd, # gold, and lld. - if(NOT CMAKE_BUILD_TYPE STREQUAL Debug AND CMAKE_SYSTEM_NAME MATCHES Darwin) + if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_SYSTEM_NAME MATCHES Darwin) if (NOT SWIFT_DISABLE_DEAD_STRIPPING) # See rdar://48283130: This gives 6MB+ size reductions for swift and # SourceKitService, and much larger size reductions for sil-opt etc. @@ -446,7 +446,7 @@ function(_add_swift_runtime_link_flags target relpath_to_lib_dir bootstrapping) # RPATH where Swift runtime can be found. set(swift_runtime_rpath) - if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS) + if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) set(sdk_dir "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${SWIFT_HOST_VARIANT_ARCH}_PATH}/usr/lib/swift") @@ -529,7 +529,7 @@ function(_add_swift_runtime_link_flags target relpath_to_lib_dir bootstrapping) elseif(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD") set(swiftrt "swiftImageRegistrationObject${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_OBJECT_FORMAT}-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}-${SWIFT_HOST_VARIANT_ARCH}") - if(${ASRLF_BOOTSTRAPPING_MODE} MATCHES "HOSTTOOLS|CROSSCOMPILE") + if(ASRLF_BOOTSTRAPPING_MODE MATCHES "HOSTTOOLS|CROSSCOMPILE") # At build time and run time, link against the swift libraries in the # installed host toolchain. get_filename_component(swift_bin_dir ${SWIFT_EXEC_FOR_SWIFT_MODULES} DIRECTORY) @@ -575,7 +575,7 @@ function(_add_swift_runtime_link_flags target relpath_to_lib_dir bootstrapping) # able to fall back to the SDK directory for libswiftCore et al. if (BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*") if (NOT "${bootstrapping}" STREQUAL "1") - if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS) + if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) target_link_directories(${target} PRIVATE "${sdk_dir}") # Include the abi stable system stdlib in our rpath. @@ -706,10 +706,10 @@ function(add_swift_host_library name) if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) set_target_properties(${name} PROPERTIES INSTALL_NAME_DIR "@rpath") - elseif(SWIFT_HOST_VARIANT_SDK STREQUAL LINUX) + elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX") set_target_properties(${name} PROPERTIES INSTALL_RPATH "$ORIGIN") - elseif(SWIFT_HOST_VARIANT_SDK STREQUAL CYGWIN) + elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "CYGWIN") set_target_properties(${name} PROPERTIES INSTALL_RPATH "$ORIGIN:/usr/lib/swift/cygwin") elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID") @@ -731,18 +731,18 @@ function(add_swift_host_library name) endif() # Set compilation and link flags. - if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS") swift_windows_include_for_arch(${SWIFT_HOST_VARIANT_ARCH} ${SWIFT_HOST_VARIANT_ARCH}_INCLUDE) target_include_directories(${name} SYSTEM PRIVATE ${${SWIFT_HOST_VARIANT_ARCH}_INCLUDE}) - if(libkind STREQUAL SHARED) + if(libkind STREQUAL "SHARED") target_compile_definitions(${name} PRIVATE _WINDLL) endif() - if(NOT ${CMAKE_C_COMPILER_ID} STREQUAL MSVC) + if(NOT CMAKE_C_COMPILER_ID STREQUAL "MSVC") swift_windows_get_sdk_vfs_overlay(ASHL_VFS_OVERLAY) # Both clang and clang-cl on Windows set CMAKE_C_SIMULATE_ID to MSVC. # We are using CMAKE_C_COMPILER_FRONTEND_VARIANT to detect the correct @@ -770,7 +770,7 @@ function(add_swift_host_library name) set_target_properties(${name} PROPERTIES LINKER_LANGUAGE CXX) - if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS) + if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) target_link_options(${name} PRIVATE "LINKER:-compatibility_version,1") if(SWIFT_COMPILER_VERSION) @@ -856,7 +856,7 @@ function(add_swift_host_tool executable) add_dependencies(${executable} ${LLVM_COMMON_DEPENDS}) endif() - if(NOT ${ASHT_BOOTSTRAPPING} STREQUAL "") + if(NOT "${ASHT_BOOTSTRAPPING}" STREQUAL "") # Strip the "-bootstrapping" suffix from the target name to get the base # executable name. string(REGEX REPLACE "-bootstrapping.*" "" executable_filename ${executable}) @@ -891,7 +891,7 @@ function(add_swift_host_tool executable) BINARY_DIR ${out_bin_dir} LIBRARY_DIR ${out_lib_dir}) - if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS") swift_windows_include_for_arch(${SWIFT_HOST_VARIANT_ARCH} ${SWIFT_HOST_VARIANT_ARCH}_INCLUDE) target_include_directories(${executable} SYSTEM PRIVATE @@ -913,8 +913,8 @@ function(add_swift_host_tool executable) if(SWIFT_SWIFT_PARSER) set(extra_relative_rpath "") - if(NOT ${ASHT_BOOTSTRAPPING} STREQUAL "") - if (${executable} MATCHES "-bootstrapping") + if(NOT "${ASHT_BOOTSTRAPPING}" STREQUAL "") + if(executable MATCHES "-bootstrapping") set(extra_relative_rpath "../") endif() endif() @@ -938,7 +938,7 @@ function(add_swift_host_tool executable) target_link_options(${executable} PRIVATE "${lto_codegen_only_link_options}") endif() - if(NOT ${ASHT_SWIFT_COMPONENT} STREQUAL "no_component") + if(NOT ASHT_SWIFT_COMPONENT STREQUAL "no_component") add_dependencies(${ASHT_SWIFT_COMPONENT} ${executable}) swift_install_in_component(TARGETS ${executable} RUNTIME diff --git a/cmake/modules/Libdispatch.cmake b/cmake/modules/Libdispatch.cmake index f0ea3577a2ba0..3fb0ecdce8924 100644 --- a/cmake/modules/Libdispatch.cmake +++ b/cmake/modules/Libdispatch.cmake @@ -1,13 +1,13 @@ include(ExternalProject) -if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) - if(CMAKE_C_COMPILER_ID STREQUAL Clang AND +if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") + if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 3.8 OR LLVM_USE_SANITIZER) set(SWIFT_LIBDISPATCH_C_COMPILER ${CMAKE_C_COMPILER}) set(SWIFT_LIBDISPATCH_CXX_COMPILER ${CMAKE_CXX_COMPILER}) - elseif(${CMAKE_SYSTEM_NAME} STREQUAL ${CMAKE_HOST_SYSTEM_NAME}) - if(CMAKE_SYSTEM_NAME STREQUAL Windows) + elseif(CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME) + if(CMAKE_SYSTEM_NAME STREQUAL "Windows") if(CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR AND TARGET clang) set(SWIFT_LIBDISPATCH_C_COMPILER @@ -29,7 +29,7 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) message(SEND_ERROR "libdispatch requires a newer clang compiler (${CMAKE_C_COMPILER_VERSION} < 3.9)") endif() - if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS") set(LIBDISPATCH_RUNTIME_DIR bin) else() set(LIBDISPATCH_RUNTIME_DIR lib) @@ -40,7 +40,7 @@ set(DISPATCH_SDKS) # Build the host libdispatch if needed. if(SWIFT_BUILD_HOST_DISPATCH) - if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) + if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") if(NOT "${SWIFT_HOST_VARIANT_SDK}" IN_LIST SWIFT_SDKS) list(APPEND DISPATCH_SDKS "${SWIFT_HOST_VARIANT_SDK}") endif() @@ -52,20 +52,20 @@ foreach(sdk ${SWIFT_SDKS}) # Darwin targets have libdispatch available, do not build it. # Wasm/WASI doesn't support libdispatch yet. # See https://github.com/apple/swift/issues/54533 for more details. - if(NOT "${sdk}" IN_LIST SWIFT_DARWIN_PLATFORMS AND NOT "${sdk}" STREQUAL WASI) + if(NOT "${sdk}" IN_LIST SWIFT_DARWIN_PLATFORMS AND NOT "${sdk}" STREQUAL "WASI") list(APPEND DISPATCH_SDKS "${sdk}") endif() endforeach() foreach(sdk ${DISPATCH_SDKS}) set(ARCHS ${SWIFT_SDK_${sdk}_ARCHITECTURES}) - if(${sdk} STREQUAL "${SWIFT_HOST_VARIANT_SDK}") + if(sdk STREQUAL "${SWIFT_HOST_VARIANT_SDK}") if(NOT "${SWIFT_HOST_VARIANT_ARCH}" IN_LIST ARCHS) list(APPEND ARCHS "${SWIFT_HOST_VARIANT_ARCH}") endif() endif() - if(sdk STREQUAL ANDROID) + if(sdk STREQUAL "ANDROID") set(SWIFT_LIBDISPATCH_COMPILER_CMAKE_ARGS) else() set(SWIFT_LIBDISPATCH_COMPILER_CMAKE_ARGS -DCMAKE_C_COMPILER=${SWIFT_LIBDISPATCH_C_COMPILER};-DCMAKE_CXX_COMPILER=${SWIFT_LIBDISPATCH_CXX_COMPILER}) diff --git a/cmake/modules/SwiftComponents.cmake b/cmake/modules/SwiftComponents.cmake index 6816b75e8a486..2ec225140dc96 100644 --- a/cmake/modules/SwiftComponents.cmake +++ b/cmake/modules/SwiftComponents.cmake @@ -82,7 +82,7 @@ list(REMOVE_ITEM _SWIFT_DEFAULT_COMPONENTS "clang-builtin-headers-in-clang-resou # This conflicts with LLVM itself when doing unified builds. list(REMOVE_ITEM _SWIFT_DEFAULT_COMPONENTS "llvm-toolchain-dev-tools") # The sourcekit install variants are currently mutually exclusive. -if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") +if(CMAKE_SYSTEM_NAME MATCHES "Darwin") list(REMOVE_ITEM _SWIFT_DEFAULT_COMPONENTS "sourcekit-inproc") else() list(REMOVE_ITEM _SWIFT_DEFAULT_COMPONENTS "sourcekit-xpc-service") diff --git a/cmake/modules/SwiftConfigureSDK.cmake b/cmake/modules/SwiftConfigureSDK.cmake index d4cb352d658dd..5dd258cdd24a3 100644 --- a/cmake/modules/SwiftConfigureSDK.cmake +++ b/cmake/modules/SwiftConfigureSDK.cmake @@ -232,7 +232,7 @@ macro(configure_sdk_darwin SWIFT_SDK_${prefix}_MODULE_ARCHITECTURES) # result # Determine whether this is a simulator SDK. - if ( ${xcrun_name} MATCHES "simulator" ) + if(xcrun_name MATCHES "simulator") set(SWIFT_SDK_${prefix}_IS_SIMULATOR TRUE) else() set(SWIFT_SDK_${prefix}_IS_SIMULATOR FALSE) @@ -378,11 +378,11 @@ macro(configure_sdk_unix name architectures) message(FATAL_ERROR "unknown arch for ${prefix}: ${arch}") endif() elseif("${prefix}" STREQUAL "FREEBSD") - if(NOT arch STREQUAL x86_64) + if(NOT arch STREQUAL "x86_64") message(FATAL_ERROR "unsupported arch for FreeBSD: ${arch}") endif() - if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL FreeBSD) + if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD") message(WARNING "CMAKE_SYSTEM_VERSION will not match target") endif() @@ -391,7 +391,7 @@ macro(configure_sdk_unix name architectures) set(SWIFT_SDK_FREEBSD_ARCH_x86_64_TRIPLE "x86_64-unknown-freebsd${freebsd_system_version}") elseif("${prefix}" STREQUAL "OPENBSD") - if(NOT arch STREQUAL amd64) + if(NOT arch STREQUAL "amd64") message(FATAL_ERROR "unsupported arch for OpenBSD: ${arch}") endif() @@ -404,17 +404,17 @@ macro(configure_sdk_unix name architectures) set(SWIFT_SDK_OPENBSD_ARCH_${arch}_PATH "${CMAKE_SYSROOT}${SWIFT_SDK_OPENBSD_ARCH_${arch}_PATH}" CACHE INTERNAL "sysroot path" FORCE) endif() elseif("${prefix}" STREQUAL "CYGWIN") - if(NOT arch STREQUAL x86_64) + if(NOT arch STREQUAL "x86_64") message(FATAL_ERROR "unsupported arch for cygwin: ${arch}") endif() set(SWIFT_SDK_CYGWIN_ARCH_x86_64_TRIPLE "x86_64-unknown-windows-cygnus") elseif("${prefix}" STREQUAL "HAIKU") - if(NOT arch STREQUAL x86_64) + if(NOT arch STREQUAL "x86_64") message(FATAL_ERROR "unsupported arch for Haiku: ${arch}") endif() set(SWIFT_SDK_HAIKU_ARCH_x86_64_TRIPLE "x86_64-unknown-haiku") elseif("${prefix}" STREQUAL "WASI") - if(NOT arch STREQUAL wasm32) + if(NOT arch STREQUAL "wasm32") message(FATAL_ERROR "unsupported arch for WebAssembly: ${arch}") endif() set(SWIFT_SDK_WASI_ARCH_wasm32_PATH "${SWIFT_WASI_SYSROOT_PATH}") @@ -459,7 +459,7 @@ macro(configure_sdk_windows name environment architectures) get_threading_package(${prefix} "win32" SWIFT_SDK_${prefix}_THREADING_PACKAGE) foreach(arch ${architectures}) - if(arch STREQUAL armv7) + if(arch STREQUAL "armv7") set(SWIFT_SDK_${prefix}_ARCH_${arch}_TRIPLE "thumbv7-unknown-windows-${environment}") else() diff --git a/cmake/modules/SwiftWindowsSupport.cmake b/cmake/modules/SwiftWindowsSupport.cmake index 6216b82c12bfe..a343247665821 100644 --- a/cmake/modules/SwiftWindowsSupport.cmake +++ b/cmake/modules/SwiftWindowsSupport.cmake @@ -2,13 +2,13 @@ include(SwiftUtils) function(swift_windows_arch_spelling arch var) - if(${arch} STREQUAL i686) + if(arch STREQUAL "i686") set(${var} x86 PARENT_SCOPE) - elseif(${arch} STREQUAL x86_64) + elseif(arch STREQUAL "x86_64") set(${var} x64 PARENT_SCOPE) - elseif(${arch} STREQUAL armv7) + elseif(arch STREQUAL "armv7") set(${var} arm PARENT_SCOPE) - elseif(${arch} STREQUAL aarch64) + elseif(arch STREQUAL "aarch64") set(${var} arm64 PARENT_SCOPE) else() message(FATAL_ERROR "do not know MSVC spelling for ARCH: `${arch}`") @@ -33,7 +33,7 @@ function(swift_windows_lib_for_arch arch var) # a directory called "Lib" rather than VS2017 which normalizes the layout and # places them in a directory named "lib". if(IS_DIRECTORY "${VCToolsInstallDir}/Lib") - if(${ARCH} STREQUAL x86) + if(ARCH STREQUAL "x86") list(APPEND paths "${VCToolsInstallDir}/Lib/") else() list(APPEND paths "${VCToolsInstallDir}/Lib/${ARCH}") diff --git a/include/swift/AST/CMakeLists.txt b/include/swift/AST/CMakeLists.txt index 869d96ba13bf7..050695f65c696 100644 --- a/include/swift/AST/CMakeLists.txt +++ b/include/swift/AST/CMakeLists.txt @@ -1,4 +1,4 @@ -if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows) +if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") set(SWIFT_GYB_FLAGS --line-directive "^\"#line %(line)d \\\"%(file)s\\\"^\"") else() set(SWIFT_GYB_FLAGS --line-directive "\'#line" "%(line)d" "\"%(file)s\"\'") diff --git a/lib/AST/CMakeLists.txt b/lib/AST/CMakeLists.txt index a0011d8a68c25..13363dea4aa7d 100644 --- a/lib/AST/CMakeLists.txt +++ b/lib/AST/CMakeLists.txt @@ -125,7 +125,7 @@ add_swift_host_library(swiftAST STATIC ) if(SWIFT_FORCE_OPTIMIZED_TYPECHECKER) - if(CMAKE_CXX_COMPILER_ID STREQUAL MSVC OR CMAKE_CXX_SIMULATE_ID STREQUAL MSVC) + if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" OR CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC") target_compile_options(swiftAST PRIVATE /O2 /Ob2) else() target_compile_options(swiftAST PRIVATE -O3) diff --git a/lib/Migrator/CMakeLists.txt b/lib/Migrator/CMakeLists.txt index 1dfd089d21a85..228baa470edaa 100644 --- a/lib/Migrator/CMakeLists.txt +++ b/lib/Migrator/CMakeLists.txt @@ -23,7 +23,7 @@ set(outputs) foreach(input ${datafiles}) set(source "${CMAKE_CURRENT_SOURCE_DIR}/${input}") set(dest "${output_dir}/${input}") - if(CMAKE_SYSTEM_NAME STREQUAL Windows) + if(CMAKE_SYSTEM_NAME STREQUAL "Windows") set(CMAKE_SYMLINK_COMMAND copy) else() set(CMAKE_SYMLINK_COMMAND create_symlink) diff --git a/lib/Parse/CMakeLists.txt b/lib/Parse/CMakeLists.txt index b46a4b217c39b..b8550c96b2ab0 100644 --- a/lib/Parse/CMakeLists.txt +++ b/lib/Parse/CMakeLists.txt @@ -1,6 +1,6 @@ -if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows) +if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") set(SWIFT_GYB_FLAGS --line-directive "^\"#line %(line)d \\\"%(file)s\\\"^\"") else() set(SWIFT_GYB_FLAGS --line-directive "\'#line" "%(line)d" "\"%(file)s\"\'") diff --git a/lib/Sema/CMakeLists.txt b/lib/Sema/CMakeLists.txt index c0e3608d07a18..bf70a33782d96 100644 --- a/lib/Sema/CMakeLists.txt +++ b/lib/Sema/CMakeLists.txt @@ -74,7 +74,7 @@ add_swift_host_library(swiftSema STATIC TypeChecker.cpp IDETypeCheckingRequests.cpp) if(SWIFT_FORCE_OPTIMIZED_TYPECHECKER) - if(CMAKE_CXX_COMPILER_ID STREQUAL MSVC OR CMAKE_CXX_SIMULATE_ID STREQUAL MSVC) + if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" OR CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC") target_compile_options(swiftSema PRIVATE /O2 /Ob2) else() target_compile_options(swiftSema PRIVATE -O3) diff --git a/lib/SwiftRemoteMirror/CMakeLists.txt b/lib/SwiftRemoteMirror/CMakeLists.txt index f774297e51cc6..da2248de9f7af 100644 --- a/lib/SwiftRemoteMirror/CMakeLists.txt +++ b/lib/SwiftRemoteMirror/CMakeLists.txt @@ -3,6 +3,6 @@ add_swift_host_library(swiftRemoteMirror STATIC target_link_libraries(swiftRemoteMirror PRIVATE swiftDemangling) -if(CMAKE_SYSTEM_NAME STREQUAL Windows) +if(CMAKE_SYSTEM_NAME STREQUAL "Windows") target_compile_definitions(swiftRemoteMirror PRIVATE _LIB) endif() diff --git a/stdlib/cmake/modules/AddSwiftStdlib.cmake b/stdlib/cmake/modules/AddSwiftStdlib.cmake index 25a79d145fb63..781d6fd33cfad 100644 --- a/stdlib/cmake/modules/AddSwiftStdlib.cmake +++ b/stdlib/cmake/modules/AddSwiftStdlib.cmake @@ -249,7 +249,7 @@ function(_add_target_variant_c_compile_flags) # NOTE(compnerd) workaround LLVM invoking `add_definitions(-D_DEBUG)` which # causes failures for the runtime library when cross-compiling due to # undefined symbols from the standard library. - if(NOT CMAKE_BUILD_TYPE STREQUAL Debug) + if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") list(APPEND result "-U_DEBUG") endif() endif() @@ -258,7 +258,7 @@ function(_add_target_variant_c_compile_flags) # uses a spin lock for this, so to get reasonable behavior we have to # implement it ourselves using _InterlockedCompareExchange128. # clang-cl requires us to enable the `cx16` feature to use this intrinsic. - if(CFLAGS_ARCH STREQUAL x86_64) + if(CFLAGS_ARCH STREQUAL "x86_64") if(SWIFT_COMPILER_IS_MSVC_LIKE) list(APPEND result /clang:-mcx16) else() @@ -287,7 +287,7 @@ function(_add_target_variant_c_compile_flags) endif() if("${CFLAGS_SDK}" STREQUAL "LINUX") - if(${CFLAGS_ARCH} STREQUAL x86_64) + if("${CFLAGS_ARCH}" STREQUAL "x86_64") # this is the minimum architecture that supports 16 byte CAS, which is necessary to avoid a dependency to libatomic list(APPEND result "-march=core2") endif() @@ -493,7 +493,7 @@ function(_add_target_variant_link_flags) else() set(linker "${SWIFT_USE_LINKER}") endif() - if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows) + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") list(APPEND result "-fuse-ld=${linker}.exe") else() list(APPEND result "-fuse-ld=${linker}") @@ -506,8 +506,8 @@ function(_add_target_variant_link_flags) # # TODO: Evaluate/enable -f{function,data}-sections --gc-sections for bfd, # gold, and lld. - if(NOT CMAKE_BUILD_TYPE STREQUAL Debug) - if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") + if(CMAKE_SYSTEM_NAME MATCHES "Darwin") # See rdar://48283130: This gives 6MB+ size reductions for swift and # SourceKitService, and much larger size reductions for sil-opt etc. list(APPEND result "-Wl,-dead_strip") @@ -969,7 +969,7 @@ function(add_swift_target_library_single target name) endif() set(INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS ${SWIFTLIB_INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS}) - if(${libkind} STREQUAL "SHARED") + if(libkind STREQUAL "SHARED") list(APPEND INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS ${SWIFTLIB_INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS_SHARED_ONLY}) endif() @@ -991,7 +991,7 @@ function(add_swift_target_library_single target name) # target_sources(${target} # PRIVATE # $) - if(SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS) + if(SWIFTLIB_SINGLE_SDK STREQUAL "WINDOWS") set(extension .obj) else() set(extension .o) @@ -1059,8 +1059,8 @@ function(add_swift_target_library_single target name) set_target_properties("${target}" PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${swiftlib_prefix}/${output_sub_dir} ARCHIVE_OUTPUT_DIRECTORY ${swiftlib_prefix}/${output_sub_dir}) - if(SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS AND SWIFTLIB_SINGLE_IS_STDLIB_CORE - AND libkind STREQUAL SHARED) + if(SWIFTLIB_SINGLE_SDK STREQUAL "WINDOWS" AND SWIFTLIB_SINGLE_IS_STDLIB_CORE + AND libkind STREQUAL "SHARED") add_custom_command(TARGET ${target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $ ${swiftlib_prefix}/${output_sub_dir}) endif() @@ -1264,8 +1264,8 @@ function(add_swift_target_library_single target name) MACCATALYST_BUILD_FLAVOR "${SWIFTLIB_SINGLE_MACCATALYST_BUILD_FLAVOR}" ) - if(SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS) - if(libkind STREQUAL SHARED) + if(SWIFTLIB_SINGLE_SDK STREQUAL "WINDOWS") + if(libkind STREQUAL "SHARED") list(APPEND c_compile_flags -D_WINDLL) endif() endif() @@ -1324,13 +1324,13 @@ function(add_swift_target_library_single target name) endif() # Set compilation and link flags. - if(SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS) + if(SWIFTLIB_SINGLE_SDK STREQUAL "WINDOWS") swift_windows_include_for_arch(${SWIFTLIB_SINGLE_ARCHITECTURE} ${SWIFTLIB_SINGLE_ARCHITECTURE}_INCLUDE) target_include_directories(${target} SYSTEM PRIVATE ${${SWIFTLIB_SINGLE_ARCHITECTURE}_INCLUDE}) - if(NOT ${CMAKE_C_COMPILER_ID} STREQUAL MSVC) + if(NOT CMAKE_C_COMPILER_ID STREQUAL "MSVC") swift_windows_get_sdk_vfs_overlay(SWIFTLIB_SINGLE_VFS_OVERLAY) target_compile_options(${target} PRIVATE "SHELL:-Xclang -ivfsoverlay -Xclang ${SWIFTLIB_SINGLE_VFS_OVERLAY}") @@ -1347,7 +1347,7 @@ function(add_swift_target_library_single target name) ${c_compile_flags}) target_link_options(${target} PRIVATE ${link_flags}) - if(${SWIFTLIB_SINGLE_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS) + if(SWIFTLIB_SINGLE_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) target_link_options(${target} PRIVATE "LINKER:-compatibility_version,1") if(SWIFT_COMPILER_VERSION) @@ -1380,7 +1380,7 @@ function(add_swift_target_library_single target name) list(APPEND swiftlib_link_flags_all "-Xlinker -no_warn_inits") endif() - if(${SWIFTLIB_SINGLE_SDK} IN_LIST SWIFT_APPLE_PLATFORMS) + if(SWIFTLIB_SINGLE_SDK IN_LIST SWIFT_APPLE_PLATFORMS) # In the past, we relied on unsetting globally # CMAKE_OSX_ARCHITECTURES to ensure that CMake # would not add the -arch flag. This is no longer @@ -1403,7 +1403,7 @@ function(add_swift_target_library_single target name) # doing so will result in incorrect symbol resolution and linkage. We created # import library targets when the library was added. Use that to adjust the # link libraries. - if(SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS AND NOT CMAKE_SYSTEM_NAME STREQUAL Windows) + if(SWIFTLIB_SINGLE_SDK STREQUAL "WINDOWS" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") foreach(library_list LINK_LIBRARIES PRIVATE_LINK_LIBRARIES) set(import_libraries) foreach(library ${SWIFTLIB_SINGLE_${library_list}}) @@ -1415,7 +1415,7 @@ function(add_swift_target_library_single target name) set(import_library ${library}) if(TARGET ${library}) get_target_property(type ${library} TYPE) - if(${type} STREQUAL "SHARED_LIBRARY") + if(type STREQUAL "SHARED_LIBRARY") set(import_library ${library}_IMPLIB) endif() endif() @@ -1744,7 +1744,7 @@ function(add_swift_target_library name) list(APPEND SWIFTLIB_SWIFT_MODULE_DEPENDS Core) # swiftSwiftOnoneSupport does not depend on itself, obviously. - if(NOT ${name} STREQUAL swiftSwiftOnoneSupport) + if(NOT name STREQUAL "swiftSwiftOnoneSupport") # All Swift code depends on the SwiftOnoneSupport in non-optimized mode, # except for the standard library itself. is_build_type_optimized("${SWIFT_STDLIB_BUILD_TYPE}" optimized) @@ -1851,7 +1851,7 @@ function(add_swift_target_library name) # Collect architecture agnostic SDK module dependencies set(swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS}) - if(${sdk} STREQUAL OSX) + if(sdk STREQUAL "OSX") if(DEFINED maccatalyst_build_flavor AND NOT maccatalyst_build_flavor STREQUAL "macos-like") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_MACCATALYST}) @@ -1863,70 +1863,70 @@ function(add_swift_target_library name) endif() list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_OSX}) - elseif(${sdk} STREQUAL IOS OR ${sdk} STREQUAL IOS_SIMULATOR) + elseif(sdk STREQUAL "IOS" OR sdk STREQUAL "IOS_SIMULATOR") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_IOS}) - elseif(${sdk} STREQUAL TVOS OR ${sdk} STREQUAL TVOS_SIMULATOR) + elseif(sdk STREQUAL "TVOS" OR sdk STREQUAL "TVOS_SIMULATOR") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_TVOS}) - elseif(${sdk} STREQUAL WATCHOS OR ${sdk} STREQUAL WATCHOS_SIMULATOR) + elseif(sdk STREQUAL "WATCHOS" OR sdk STREQUAL "WATCHOS_SIMULATOR") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_WATCHOS}) - elseif(${sdk} STREQUAL FREESTANDING) + elseif(sdk STREQUAL "FREESTANDING") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_FREESTANDING}) - elseif(${sdk} STREQUAL FREEBSD) + elseif(sdk STREQUAL "FREEBSD") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_FREEBSD}) - elseif(${sdk} STREQUAL OPENBSD) + elseif(sdk STREQUAL "OPENBSD") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_OPENBSD}) - elseif(${sdk} STREQUAL LINUX OR ${sdk} STREQUAL ANDROID) + elseif(sdk STREQUAL "LINUX" OR sdk STREQUAL "ANDROID") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_LINUX}) - elseif(${sdk} STREQUAL CYGWIN) + elseif(sdk STREQUAL "CYGWIN") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_CYGWIN}) - elseif(${sdk} STREQUAL HAIKU) + elseif(sdk STREQUAL "HAIKU") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_HAIKU}) - elseif(${sdk} STREQUAL WASI) + elseif(sdk STREQUAL "WASI") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_WASI}) - elseif(${sdk} STREQUAL WINDOWS) + elseif(sdk STREQUAL "WINDOWS") list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_WINDOWS}) endif() # Collect architecture agnostic SDK framework dependencies set(swiftlib_framework_depends_flattened ${SWIFTLIB_FRAMEWORK_DEPENDS}) - if(${sdk} STREQUAL OSX) + if(sdk STREQUAL "OSX") list(APPEND swiftlib_framework_depends_flattened ${SWIFTLIB_FRAMEWORK_DEPENDS_OSX}) - elseif(${sdk} STREQUAL IOS OR ${sdk} STREQUAL IOS_SIMULATOR OR - ${sdk} STREQUAL TVOS OR ${sdk} STREQUAL TVOS_SIMULATOR) + elseif(sdk STREQUAL "IOS" OR sdk STREQUAL "IOS_SIMULATOR" OR + sdk STREQUAL "TVOS" OR sdk STREQUAL "TVOS_SIMULATOR") list(APPEND swiftlib_framework_depends_flattened ${SWIFTLIB_FRAMEWORK_DEPENDS_IOS_TVOS}) endif() # Collect architecture agnostic swift compiler flags set(swiftlib_swift_compile_flags_all ${SWIFTLIB_SWIFT_COMPILE_FLAGS}) - if(${sdk} STREQUAL OSX) + if(sdk STREQUAL "OSX") list(APPEND swiftlib_swift_compile_flags_all ${SWIFTLIB_SWIFT_COMPILE_FLAGS_OSX}) - elseif(${sdk} STREQUAL IOS OR ${sdk} STREQUAL IOS_SIMULATOR) + elseif(sdk STREQUAL "IOS" OR sdk STREQUAL "IOS_SIMULATOR") list(APPEND swiftlib_swift_compile_flags_all ${SWIFTLIB_SWIFT_COMPILE_FLAGS_IOS}) - elseif(${sdk} STREQUAL TVOS OR ${sdk} STREQUAL TVOS_SIMULATOR) + elseif(sdk STREQUAL "TVOS" OR sdk STREQUAL "TVOS_SIMULATOR") list(APPEND swiftlib_swift_compile_flags_all ${SWIFTLIB_SWIFT_COMPILE_FLAGS_TVOS}) - elseif(${sdk} STREQUAL WATCHOS OR ${sdk} STREQUAL WATCHOS_SIMULATOR) + elseif(sdk STREQUAL "WATCHOS" OR sdk STREQUAL "WATCHOS_SIMULATOR") list(APPEND swiftlib_swift_compile_flags_all ${SWIFTLIB_SWIFT_COMPILE_FLAGS_WATCHOS}) - elseif(${sdk} STREQUAL LINUX) + elseif(sdk STREQUAL "LINUX") list(APPEND swiftlib_swift_compile_flags_all ${SWIFTLIB_SWIFT_COMPILE_FLAGS_LINUX}) - elseif(${sdk} STREQUAL WINDOWS) + elseif(sdk STREQUAL "WINDOWS") # FIXME: https://github.com/apple/swift/issues/44614 # static and shared are not mutually exclusive; however since we do a # single build of the sources, this doesn't work for building both @@ -1945,7 +1945,7 @@ function(add_swift_target_library name) # Collect architecture agnostic SDK linker flags set(swiftlib_link_flags_all ${SWIFTLIB_LINK_FLAGS}) - if(${sdk} STREQUAL IOS_SIMULATOR AND ${name} STREQUAL swiftMediaPlayer) + if(sdk STREQUAL "IOS_SIMULATOR" AND name STREQUAL "swiftMediaPlayer") # message("DISABLING AUTOLINK FOR swiftMediaPlayer") list(APPEND swiftlib_link_flags_all "-Xlinker" "-ignore_auto_link") endif() @@ -1959,8 +1959,8 @@ function(add_swift_target_library name) # back to supported targets and libraries only. This is needed for ELF # targets only; however, RemoteMirror needs to build with undefined # symbols. - if(${SWIFT_SDK_${sdk}_OBJECT_FORMAT} STREQUAL ELF AND - NOT ${name} STREQUAL swiftRemoteMirror) + if(SWIFT_SDK_${sdk}_OBJECT_FORMAT STREQUAL "ELF" AND + NOT name STREQUAL "swiftRemoteMirror") list(APPEND swiftlib_link_flags_all "-Wl,-z,defs") endif() # Setting back linker flags which are not supported when making Android build on macOS cross-compile host. @@ -2067,22 +2067,22 @@ function(add_swift_target_library name) set(swiftlib_link_flags_all ${SWIFTLIB_LINK_FLAGS}) # Collect architecture agnostic c compiler flags - if(${sdk} STREQUAL OSX) + if(sdk STREQUAL "OSX") list(APPEND swiftlib_c_compile_flags_all ${SWIFTLIB_C_COMPILE_FLAGS_OSX}) - elseif(${sdk} STREQUAL IOS OR ${sdk} STREQUAL IOS_SIMULATOR) + elseif(sdk STREQUAL "IOS" OR sdk STREQUAL "IOS_SIMULATOR") list(APPEND swiftlib_c_compile_flags_all ${SWIFTLIB_C_COMPILE_FLAGS_IOS}) - elseif(${sdk} STREQUAL TVOS OR ${sdk} STREQUAL TVOS_SIMULATOR) + elseif(sdk STREQUAL "TVOS" OR sdk STREQUAL "TVOS_SIMULATOR") list(APPEND swiftlib_c_compile_flags_all ${SWIFTLIB_C_COMPILE_FLAGS_TVOS}) - elseif(${sdk} STREQUAL WATCHOS OR ${sdk} STREQUAL WATCHOS_SIMULATOR) + elseif(sdk STREQUAL "WATCHOS" OR sdk STREQUAL "WATCHOS_SIMULATOR") list(APPEND swiftlib_c_compile_flags_all ${SWIFTLIB_C_COMPILE_FLAGS_WATCHOS}) - elseif(${sdk} STREQUAL LINUX) + elseif(sdk STREQUAL "LINUX") list(APPEND swiftlib_c_compile_flags_all ${SWIFTLIB_C_COMPILE_FLAGS_LINUX}) - elseif(${sdk} STREQUAL WINDOWS) + elseif(sdk STREQUAL "WINDOWS") list(APPEND swiftlib_c_compile_flags_all ${SWIFTLIB_C_COMPILE_FLAGS_WINDOWS}) endif() @@ -2124,7 +2124,7 @@ function(add_swift_target_library name) endif() # Setting back linker flags which are not supported when making Android build on macOS cross-compile host. - if(SWIFTLIB_SHARED AND ${sdk} STREQUAL ANDROID) + if(SWIFTLIB_SHARED AND sdk STREQUAL "ANDROID") list(APPEND swiftlib_link_flags_all "-shared") # TODO: Instead of `lib${name}.so` find variable or target property which already have this value. list(APPEND swiftlib_link_flags_all "-Wl,-soname,lib${name}.so") @@ -2181,7 +2181,7 @@ function(add_swift_target_library name) add_dependencies(${VARIANT_NAME} clang) endif() - if(sdk STREQUAL WINDOWS) + if(sdk STREQUAL "WINDOWS") if(SWIFT_COMPILER_IS_MSVC_LIKE) if (SWIFT_STDLIB_MSVC_RUNTIME_LIBRARY MATCHES MultiThreadedDebugDLL) target_compile_options(${VARIANT_NAME} PRIVATE /MDd /D_DLL /D_DEBUG) @@ -2326,7 +2326,7 @@ function(add_swift_target_library name) set(optional_arg "OPTIONAL") endif() - if(sdk STREQUAL WINDOWS AND CMAKE_SYSTEM_NAME STREQUAL Windows) + if(sdk STREQUAL "WINDOWS" AND CMAKE_SYSTEM_NAME STREQUAL "Windows") add_dependencies(${SWIFTLIB_INSTALL_IN_COMPONENT} ${name}-windows-${SWIFT_PRIMARY_VARIANT_ARCH}) swift_install_in_component(TARGETS ${name}-windows-${SWIFT_PRIMARY_VARIANT_ARCH} RUNTIME @@ -2357,7 +2357,7 @@ function(add_swift_target_library name) PERMISSIONS ${file_permissions} "${optional_arg}") endif() - if(sdk STREQUAL WINDOWS) + if(sdk STREQUAL "WINDOWS") foreach(arch ${SWIFT_SDK_WINDOWS_ARCHITECTURES}) if(TARGET ${name}-windows-${arch}_IMPLIB) get_target_property(import_library ${name}-windows-${arch}_IMPLIB IMPORTED_LOCATION) @@ -2558,13 +2558,13 @@ function(_add_swift_target_executable_single name) ${SWIFTEXE_SINGLE_DEPENDS}) llvm_update_compile_flags("${name}") - if(SWIFTEXE_SINGLE_SDK STREQUAL WINDOWS) + if(SWIFTEXE_SINGLE_SDK STREQUAL "WINDOWS") swift_windows_include_for_arch(${SWIFTEXE_SINGLE_ARCHITECTURE} ${SWIFTEXE_SINGLE_ARCHITECTURE}_INCLUDE) target_include_directories(${name} SYSTEM PRIVATE ${${SWIFTEXE_SINGLE_ARCHITECTURE}_INCLUDE}) - if(NOT ${CMAKE_C_COMPILER_ID} STREQUAL MSVC) + if(NOT CMAKE_C_COMPILER_ID STREQUAL "MSVC") # MSVC doesn't support -Xclang. We don't need to manually specify # the dependent libraries as `cl` does so. target_compile_options(${name} PRIVATE @@ -2584,7 +2584,7 @@ function(_add_swift_target_executable_single name) if (SWIFT_PARALLEL_LINK_JOBS) set_property(TARGET ${name} PROPERTY JOB_POOL_LINK swift_link_job_pool) endif() - if(${SWIFTEXE_SINGLE_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS) + if(SWIFTEXE_SINGLE_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) set_target_properties(${name} PROPERTIES BUILD_WITH_INSTALL_RPATH YES INSTALL_RPATH "@executable_path/../lib/swift/${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK}_LIB_SUBDIR}") @@ -2596,7 +2596,7 @@ function(_add_swift_target_executable_single name) # NOTE(compnerd) use the C linker language to invoke `clang` rather than # `clang++` as we explicitly link against the C++ runtime. We were previously # actually passing `-nostdlib++` to avoid the C++ runtime linkage. - if(${SWIFTEXE_SINGLE_SDK} STREQUAL ANDROID) + if(SWIFTEXE_SINGLE_SDK STREQUAL "ANDROID") set_property(TARGET "${name}" PROPERTY LINKER_LANGUAGE "C") else() @@ -2666,7 +2666,7 @@ function(add_swift_target_executable name) EXCLUDE_FROM_ALL TRUE) endif() - if(${sdk} IN_LIST SWIFT_APPLE_PLATFORMS) + if(sdk IN_LIST SWIFT_APPLE_PLATFORMS) # In the past, we relied on unsetting globally # CMAKE_OSX_ARCHITECTURES to ensure that CMake would # not add the -arch flag diff --git a/stdlib/cmake/modules/SwiftSource.cmake b/stdlib/cmake/modules/SwiftSource.cmake index d5d57dfd18a82..39c2e07860f5a 100644 --- a/stdlib/cmake/modules/SwiftSource.cmake +++ b/stdlib/cmake/modules/SwiftSource.cmake @@ -730,7 +730,7 @@ function(_compile_swift_files set(line_directive_tool "${SWIFT_SOURCE_DIR}/utils/line-directive") - if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows) + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") set(HOST_EXECUTABLE_SUFFIX .exe) endif() if(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER) @@ -748,7 +748,7 @@ function(_compile_swift_files "${SWIFT_NATIVE_SWIFT_TOOLS_PATH}/swiftc${HOST_EXECUTABLE_SUFFIX}" "${SWIFTFILE_BOOTSTRAPPING}") - if(NOT ${SWIFTFILE_BOOTSTRAPPING} STREQUAL "") + if(NOT "${SWIFTFILE_BOOTSTRAPPING}" STREQUAL "") set(target_suffix "-bootstrapping${SWIFTFILE_BOOTSTRAPPING}") endif() @@ -786,7 +786,7 @@ function(_compile_swift_files # When building the stdlib with bootstrapping, the compiler needs # to pick up the stdlib from the previous bootstrapping stage, because the # stdlib in the current stage is not built yet. - if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_APPLE_PLATFORMS) + if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_APPLE_PLATFORMS) set(set_environment_args "${CMAKE_COMMAND}" "-E" "env" "DYLD_LIBRARY_PATH=${bs_lib_dir}") elseif(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD") set(set_environment_args "${CMAKE_COMMAND}" "-E" "env" "LD_LIBRARY_PATH=${bs_lib_dir}") diff --git a/stdlib/public/Concurrency/CMakeLists.txt b/stdlib/public/Concurrency/CMakeLists.txt index ff614adce7625..76e0694a731f8 100644 --- a/stdlib/public/Concurrency/CMakeLists.txt +++ b/stdlib/public/Concurrency/CMakeLists.txt @@ -26,14 +26,14 @@ set(SWIFT_RUNTIME_CONCURRENCY_C_FLAGS) set(SWIFT_RUNTIME_CONCURRENCY_SWIFT_FLAGS) set(swift_concurrency_private_link_libraries) -if(CMAKE_SYSTEM_NAME STREQUAL Windows) +if(CMAKE_SYSTEM_NAME STREQUAL "Windows") list(APPEND swift_concurrency_private_link_libraries Synchronization) endif() set(swift_concurrency_incorporate_object_libraries_so swiftThreading) if("${SWIFT_CONCURRENCY_GLOBAL_EXECUTOR}" STREQUAL "dispatch") - if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) + if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") include_directories(AFTER ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}) @@ -61,7 +61,7 @@ endif() # Don't emit extended frame info on platforms other than darwin, system # backtracer and system debugger are unlikely to support it. -if(CMAKE_SYSTEM_NAME STREQUAL Darwin) +if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") list(APPEND SWIFT_RUNTIME_CONCURRENCY_C_FLAGS "-fswift-async-fp=${swift_concurrency_async_fp_mode}") list(APPEND SWIFT_RUNTIME_CONCURRENCY_SWIFT_FLAGS diff --git a/stdlib/public/Cxx/std/CMakeLists.txt b/stdlib/public/Cxx/std/CMakeLists.txt index f24d08b6b629d..b805b2ed6cbc8 100644 --- a/stdlib/public/Cxx/std/CMakeLists.txt +++ b/stdlib/public/Cxx/std/CMakeLists.txt @@ -1,6 +1,6 @@ set(libstdcxx_modulemap_target_list) foreach(sdk ${SWIFT_SDKS}) - if(NOT ${sdk} IN_LIST SWIFT_LIBSTDCXX_PLATFORMS) + if(NOT sdk IN_LIST SWIFT_LIBSTDCXX_PLATFORMS) continue() endif() @@ -86,7 +86,7 @@ foreach(sdk ${SWIFT_SDKS}) COMPONENT sdk-overlay) endif() - if(${BOOTSTRAPPING_MODE} MATCHES "BOOTSTRAPPING.*") + if(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*") foreach(bootstrapping "0" "1") get_bootstrapping_path(bootstrapping_dir ${module_dir} ${bootstrapping}) set(libstdcxx_modulemap_out_bootstrapping "${bootstrapping_dir}/libstdcxx.modulemap") diff --git a/stdlib/public/Platform/CMakeLists.txt b/stdlib/public/Platform/CMakeLists.txt index 9063931bd20a4..757a89eb76023 100644 --- a/stdlib/public/Platform/CMakeLists.txt +++ b/stdlib/public/Platform/CMakeLists.txt @@ -42,8 +42,8 @@ set(swiftDarwin_common_options DEPENDS ${darwin_depends}) -if(${BOOTSTRAPPING_MODE} STREQUAL "BOOTSTRAPPING" AND - ${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS) +if(BOOTSTRAPPING_MODE STREQUAL "BOOTSTRAPPING" AND + SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) set(swiftDarwin_common_bootstrapping_options ${swiftDarwin_common_options} @@ -179,7 +179,7 @@ foreach(sdk ${SWIFT_SDKS}) # with its own native sysroot, create a native modulemap without a sysroot # prefix. This is the one we'll install instead. if(NOT "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${arch}_PATH}" STREQUAL "/" AND - NOT (${sdk} STREQUAL ANDROID AND NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")) + NOT (sdk STREQUAL "ANDROID" AND NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")) set(glibc_sysroot_relative_modulemap_out "${module_dir}/sysroot-relative-modulemaps/glibc.modulemap") handle_gyb_source_single(glibc_modulemap_native_target diff --git a/stdlib/public/SwiftOnoneSupport/CMakeLists.txt b/stdlib/public/SwiftOnoneSupport/CMakeLists.txt index 50efa52b7e166..cf6f09bcf69cc 100644 --- a/stdlib/public/SwiftOnoneSupport/CMakeLists.txt +++ b/stdlib/public/SwiftOnoneSupport/CMakeLists.txt @@ -10,7 +10,7 @@ set(swiftOnoneSupport_common_options 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}" LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}") -if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND ${BOOTSTRAPPING_MODE} STREQUAL "BOOTSTRAPPING") +if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND BOOTSTRAPPING_MODE STREQUAL "BOOTSTRAPPING") set(swiftOnoneSupport_common_bootstrapping_options SHARED diff --git a/stdlib/public/SwiftShims/swift/shims/CMakeLists.txt b/stdlib/public/SwiftShims/swift/shims/CMakeLists.txt index c54b2cf84b272..f925940d8a23f 100644 --- a/stdlib/public/SwiftShims/swift/shims/CMakeLists.txt +++ b/stdlib/public/SwiftShims/swift/shims/CMakeLists.txt @@ -152,7 +152,7 @@ if(NOT SWIFT_BUILT_STANDALONE) endforeach() endif() -if(${BOOTSTRAPPING_MODE} MATCHES "BOOTSTRAPPING.*") +if(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*") foreach(bootstrapping "0" "1") get_bootstrapping_path(outdir ${SWIFTLIB_DIR} ${bootstrapping}) set(target_name "symlink-headers-bootstrapping${bootstrapping}") diff --git a/stdlib/public/core/CMakeLists.txt b/stdlib/public/core/CMakeLists.txt index c2217c9f294fb..be0d826b29dc0 100644 --- a/stdlib/public/core/CMakeLists.txt +++ b/stdlib/public/core/CMakeLists.txt @@ -251,18 +251,18 @@ set(swift_core_framework_depends) set(swift_core_private_link_libraries) set(swift_stdlib_compile_flags "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}") -if(SWIFT_PRIMARY_VARIANT_SDK STREQUAL CYGWIN) +if(SWIFT_PRIMARY_VARIANT_SDK STREQUAL "CYGWIN") # TODO(compnerd) cache this variable to permit re-configuration execute_process(COMMAND "cygpath" "-u" "$ENV{SYSTEMROOT}" OUTPUT_VARIABLE ENV_SYSTEMROOT) list(APPEND swift_core_private_link_libraries "${ENV_SYSTEMROOT}/system32/psapi.dll") -elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL FREEBSD) +elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL "FREEBSD") find_library(EXECINFO_LIBRARY execinfo) list(APPEND swift_core_private_link_libraries ${EXECINFO_LIBRARY}) -elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL LINUX) +elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL "LINUX") if(SWIFT_BUILD_STATIC_STDLIB) list(APPEND swift_core_private_link_libraries) endif() -elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL WINDOWS) +elseif(SWIFT_PRIMARY_VARIANT_SDK STREQUAL "WINDOWS") list(APPEND swift_core_private_link_libraries shell32;DbgHelp;Synchronization) endif() @@ -331,7 +331,7 @@ set(swiftCore_common_options set(swiftCore_common_dependencies copy_shim_headers "${SWIFTLIB_DIR}/shims" ${GROUP_INFO_JSON_FILE}) -if(${BOOTSTRAPPING_MODE} STREQUAL "BOOTSTRAPPING") +if(BOOTSTRAPPING_MODE STREQUAL "BOOTSTRAPPING") set(b0_deps symlink-headers-bootstrapping0) set(b1_deps symlink-headers-bootstrapping1) diff --git a/stdlib/public/runtime/CMakeLists.txt b/stdlib/public/runtime/CMakeLists.txt index e46c37d626be4..db503543b6b9f 100644 --- a/stdlib/public/runtime/CMakeLists.txt +++ b/stdlib/public/runtime/CMakeLists.txt @@ -163,7 +163,7 @@ foreach(sdk ${SWIFT_SDKS}) # set(swiftrtObject "$") 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}) - if(sdk STREQUAL WINDOWS) + if(sdk STREQUAL "WINDOWS") set(extension .obj) else() set(extension .o) @@ -209,12 +209,12 @@ foreach(sdk ${SWIFT_SDKS}) # Generate the static-stdlib-args.lnk file used by -static-stdlib option for # 'GenericUnix' (eg linux) - if(${SWIFT_SDK_${sdk}_OBJECT_FORMAT} STREQUAL ELF) + if(SWIFT_SDK_${sdk}_OBJECT_FORMAT STREQUAL "ELF") string(TOLOWER "${sdk}" lowercase_sdk) set(libpthread -lpthread) set(concurrency_libs) set(android_libraries) - if(${sdk} STREQUAL ANDROID) + if(sdk STREQUAL "ANDROID") set(android_libraries -llog) set(libpthread) elseif(SWIFT_CONCURRENCY_USES_DISPATCH) diff --git a/stdlib/toolchain/legacy_layouts/CMakeLists.txt b/stdlib/toolchain/legacy_layouts/CMakeLists.txt index ad18c6b1b32d7..96da39068212a 100644 --- a/stdlib/toolchain/legacy_layouts/CMakeLists.txt +++ b/stdlib/toolchain/legacy_layouts/CMakeLists.txt @@ -55,7 +55,7 @@ foreach(sdk ${SWIFT_SDKS}) endforeach() endforeach() -if(${BOOTSTRAPPING_MODE} MATCHES "BOOTSTRAPPING.*") +if(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*") # The resource dir for bootstrapping0 may be used explicitly # to cross compile for other architectures, so we would need # to have all the legacy layouts in there diff --git a/tools/SourceKit/CMakeLists.txt b/tools/SourceKit/CMakeLists.txt index f87720f9c801a..6c0c0800bc46b 100644 --- a/tools/SourceKit/CMakeLists.txt +++ b/tools/SourceKit/CMakeLists.txt @@ -82,7 +82,7 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") # Add deployment target to C/C++ compiler and linker flags. # FIXME: CMAKE_OSX_DEPLOYMENT_TARGET falls over when used for iOS versions. if (XCODE) - if (${SOURCEKIT_DEPLOYMENT_OS} MATCHES "^macosx") + if (SOURCEKIT_DEPLOYMENT_OS MATCHES "^macosx") set(CMAKE_XCODE_ATTRIBUTE_MACOSX_DEPLOYMENT_TARGET ${SOURCEKIT_DEPLOYMENT_TARGET}) else() set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET ${SOURCEKIT_DEPLOYMENT_TARGET}) @@ -101,7 +101,7 @@ if(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") endif() if(SWIFT_BUILD_HOST_DISPATCH) - if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS") set(SOURCEKIT_RUNTIME_DIR bin) else() set(SOURCEKIT_RUNTIME_DIR lib) @@ -114,7 +114,7 @@ if(SWIFT_BUILD_HOST_DISPATCH) DESTINATION ${SOURCEKIT_RUNTIME_DIR} COMPONENT sourcekit-inproc) endif() - if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS") swift_install_in_component(FILES $ $ diff --git a/tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake b/tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake index 14d9a99a13a78..bc26b2638487d 100644 --- a/tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake +++ b/tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake @@ -8,7 +8,7 @@ function(add_sourcekit_default_compiler_flags target) _add_host_variant_link_flags(${target}) # Set compilation and link flags. - if(${SWIFT_HOST_VARIANT_SDK} STREQUAL WINDOWS) + if(SWIFT_HOST_VARIANT_SDK STREQUAL "WINDOWS") swift_windows_include_for_arch(${SWIFT_HOST_VARIANT_ARCH} ${SWIFT_HOST_VARIANT_ARCH}_INCLUDE) target_include_directories(${target} SYSTEM PRIVATE @@ -30,7 +30,7 @@ function(add_sourcekit_swift_runtime_link_flags target path HAS_SWIFT_MODULES) endif() endif() - if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS) + if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) # Lists of rpaths that we are going to add to our executables. # @@ -118,7 +118,7 @@ function(add_sourcekit_swift_runtime_link_flags target path HAS_SWIFT_MODULES) elseif(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD" AND HAS_SWIFT_MODULES AND ASKD_BOOTSTRAPPING_MODE) set(swiftrt "swiftImageRegistrationObject${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_OBJECT_FORMAT}-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}-${SWIFT_HOST_VARIANT_ARCH}") - if(${ASKD_BOOTSTRAPPING_MODE} MATCHES "HOSTTOOLS|CROSSCOMPILE") + if(ASKD_BOOTSTRAPPING_MODE MATCHES "HOSTTOOLS|CROSSCOMPILE") # At build time and run time, link against the swift libraries in the # installed host toolchain. get_filename_component(swift_bin_dir ${SWIFT_EXEC_FOR_SWIFT_MODULES} DIRECTORY) @@ -163,7 +163,7 @@ function(add_sourcekit_swift_runtime_link_flags target path HAS_SWIFT_MODULES) # able to fall back to the SDK directory for libswiftCore et al. if (BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*") if (NOT "${bootstrapping}" STREQUAL "1") - if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS) + if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) target_link_directories(${target} PRIVATE "${sdk_dir}") # Include the abi stable system stdlib in our rpath. diff --git a/tools/SourceKit/lib/Support/CMakeLists.txt b/tools/SourceKit/lib/Support/CMakeLists.txt index c4e2cbcd31e03..a47b2347a1226 100644 --- a/tools/SourceKit/lib/Support/CMakeLists.txt +++ b/tools/SourceKit/lib/Support/CMakeLists.txt @@ -9,7 +9,7 @@ target_link_libraries(SourceKitSupport PRIVATE swiftBasic clangBasic clangRewrite) -if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) +if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") target_link_libraries(SourceKitSupport INTERFACE dispatch BlocksRuntime) diff --git a/tools/SourceKit/tools/complete-test/CMakeLists.txt b/tools/SourceKit/tools/complete-test/CMakeLists.txt index ec3437650a0bb..d1b3fe3b36a8f 100644 --- a/tools/SourceKit/tools/complete-test/CMakeLists.txt +++ b/tools/SourceKit/tools/complete-test/CMakeLists.txt @@ -7,13 +7,13 @@ if(SWIFT_SOURCEKIT_USE_INPROC_LIBRARY) else() target_link_libraries(complete-test PRIVATE sourcekitd) endif() -if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) +if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") target_link_libraries(complete-test PRIVATE dispatch BlocksRuntime) endif() -if(CMAKE_SYSTEM_NAME STREQUAL Darwin) +if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") set_target_properties(complete-test PROPERTIES INSTALL_RPATH "@executable_path/../lib") target_link_options(complete-test PRIVATE diff --git a/tools/SourceKit/tools/sourcekitd-repl/CMakeLists.txt b/tools/SourceKit/tools/sourcekitd-repl/CMakeLists.txt index d4a3a77df2ac8..f537ad74544e4 100644 --- a/tools/SourceKit/tools/sourcekitd-repl/CMakeLists.txt +++ b/tools/SourceKit/tools/sourcekitd-repl/CMakeLists.txt @@ -7,7 +7,7 @@ if(SWIFT_SOURCEKIT_USE_INPROC_LIBRARY) else() target_link_libraries(sourcekitd-repl PRIVATE sourcekitd) endif() -if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) +if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") target_link_libraries(sourcekitd-repl PRIVATE dispatch BlocksRuntime) @@ -15,7 +15,7 @@ endif() target_link_libraries(sourcekitd-repl PRIVATE libedit) -if(CMAKE_SYSTEM_NAME STREQUAL Darwin) +if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") set_target_properties(sourcekitd-repl PROPERTIES INSTALL_RPATH "@executable_path/../lib") target_link_options(sourcekitd-repl PRIVATE diff --git a/tools/SourceKit/tools/sourcekitd-test/CMakeLists.txt b/tools/SourceKit/tools/sourcekitd-test/CMakeLists.txt index 91c28f371c4d6..e5f7aa5c9fba5 100644 --- a/tools/SourceKit/tools/sourcekitd-test/CMakeLists.txt +++ b/tools/SourceKit/tools/sourcekitd-test/CMakeLists.txt @@ -17,7 +17,7 @@ if(SWIFT_SOURCEKIT_USE_INPROC_LIBRARY) else() target_link_libraries(sourcekitd-test PRIVATE sourcekitd) endif() -if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) +if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") target_link_libraries(sourcekitd-test PRIVATE dispatch BlocksRuntime) @@ -25,7 +25,7 @@ endif() add_dependencies(sourcekitd-test sourcekitdTestOptionsTableGen) -if(CMAKE_SYSTEM_NAME STREQUAL Darwin) +if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") set_target_properties(sourcekitd-test PROPERTIES INSTALL_RPATH "@executable_path/../lib") target_link_options(sourcekitd-test PRIVATE diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt index 4521356ffc62c..ab6dad7b27322 100644 --- a/tools/driver/CMakeLists.txt +++ b/tools/driver/CMakeLists.txt @@ -10,7 +10,7 @@ function(add_swift_parser_link_libraries target) endif() endfunction() -if(${BOOTSTRAPPING_MODE} MATCHES "BOOTSTRAPPING.*") +if(BOOTSTRAPPING_MODE MATCHES "BOOTSTRAPPING.*") # Bootstrapping - level 0 # For more information on how bootstrapping works, see docs/SwiftInTheCompiler.md diff --git a/tools/libSwiftScan/CMakeLists.txt b/tools/libSwiftScan/CMakeLists.txt index f11c2a9975810..93beb4629b04e 100644 --- a/tools/libSwiftScan/CMakeLists.txt +++ b/tools/libSwiftScan/CMakeLists.txt @@ -8,7 +8,7 @@ add_swift_host_library(libSwiftScan SHARED libSwiftScan.cpp c-include-check.c) -if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_DARWIN_PLATFORMS) +if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) # Workaround for a linker crash related to autolinking: rdar://77839981 set_property(TARGET libSwiftScan APPEND_STRING PROPERTY LINK_FLAGS " -lobjc ") diff --git a/unittests/Basic/CMakeLists.txt b/unittests/Basic/CMakeLists.txt index 547751e6cac8f..10b413ce73275 100644 --- a/unittests/Basic/CMakeLists.txt +++ b/unittests/Basic/CMakeLists.txt @@ -49,6 +49,6 @@ target_link_libraries(SwiftBasicTests LLVMTestingSupport ) -if(SWIFT_HOST_VARIANT STREQUAL windows) +if(SWIFT_HOST_VARIANT STREQUAL "windows") target_link_libraries(SwiftBasicTests PRIVATE Synchronization) endif() diff --git a/unittests/Threading/CMakeLists.txt b/unittests/Threading/CMakeLists.txt index 5e0f27c089dc4..239630d038c6d 100644 --- a/unittests/Threading/CMakeLists.txt +++ b/unittests/Threading/CMakeLists.txt @@ -14,7 +14,7 @@ if(("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "${SWIFT_PRIMARY_VARIANT_SDK}") AND swiftCore${SWIFT_PRIMARY_VARIANT_SUFFIX} ) - if(SWIFT_HOST_VARIANT STREQUAL windows) + if(SWIFT_HOST_VARIANT STREQUAL "windows") target_link_libraries(SwiftThreadingTests PRIVATE Synchronization) endif() endif() diff --git a/unittests/runtime/CMakeLists.txt b/unittests/runtime/CMakeLists.txt index 79df463c0edb0..cef4026378509 100644 --- a/unittests/runtime/CMakeLists.txt +++ b/unittests/runtime/CMakeLists.txt @@ -63,7 +63,7 @@ if(("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "${SWIFT_PRIMARY_VARIANT_SDK}") AND list(APPEND PLATFORM_TARGET_LINK_LIBRARIES ${EXECINFO_LIBRARY} ) - elseif(SWIFT_HOST_VARIANT STREQUAL windows) + elseif(SWIFT_HOST_VARIANT STREQUAL "windows") list(APPEND PLATFORM_TARGET_LINK_LIBRARIES DbgHelp;Synchronization) endif() diff --git a/unittests/runtime/LongTests/CMakeLists.txt b/unittests/runtime/LongTests/CMakeLists.txt index 592e532f8cf53..37b5e00714e03 100644 --- a/unittests/runtime/LongTests/CMakeLists.txt +++ b/unittests/runtime/LongTests/CMakeLists.txt @@ -30,7 +30,7 @@ if(("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "${SWIFT_PRIMARY_VARIANT_SDK}") AND list(APPEND PLATFORM_TARGET_LINK_LIBRARIES ${EXECINFO_LIBRARY} ) - elseif(SWIFT_HOST_VARIANT STREQUAL windows) + elseif(SWIFT_HOST_VARIANT STREQUAL "windows") list(APPEND PLATFORM_TARGET_LINK_LIBRARIES DbgHelp;Synchronization) endif() diff --git a/utils/api_checker/CMakeLists.txt b/utils/api_checker/CMakeLists.txt index e664a73ddd996..fea720f60958f 100644 --- a/utils/api_checker/CMakeLists.txt +++ b/utils/api_checker/CMakeLists.txt @@ -16,7 +16,7 @@ set(SWIFTLIB_DIR "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib/swift") set(dest "${SWIFTLIB_DIR}/${framework}") set(source "${CMAKE_CURRENT_SOURCE_DIR}/${framework}") -if(CMAKE_SYSTEM_NAME STREQUAL Windows) +if(CMAKE_SYSTEM_NAME STREQUAL "Windows") set(CMAKE_SYMLINK_COMMAND copy) else() set(CMAKE_SYMLINK_COMMAND create_symlink)