Revision f2c68fb4009ad058aa5c7d3dfeb2c3b989638614 authored by swift-ci on 17 March 2023, 03:05:27 UTC, committed by GitHub on 17 March 2023, 03:05:27 UTC
Add REQUIRES: assert in one the VariadicGenerics tests.
StandaloneOverlay.cmake
# In some configurations (e.g. back deploy concurrency) we
# configure the build from the root of the Swift repo but we skip
# stdlib/CMakeLists.txt, with the risk of missing important parameters.
# To account for this scenario, we include the stdlib options
# before the guard
include(${CMAKE_CURRENT_LIST_DIR}/../../stdlib/cmake/modules/StdlibOptions.cmake)
# CMAKE_SOURCE_DIR is the directory that cmake got initially invoked on.
# CMAKE_CURRENT_SOURCE_DIR is the current directory. If these are equal, it's
# a top-level build of the CMAKE_SOURCE_DIR. Otherwise, define a guard variable
# and return.
if(DEFINED SWIFT_MASTER_LOADED
OR NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
set(SWIFT_MASTER_LOADED TRUE)
return()
endif()
list(APPEND CMAKE_MODULE_PATH
"${SWIFT_SOURCE_ROOT}/llvm-project/llvm/cmake/modules"
"${PROJECT_SOURCE_DIR}/../../../../cmake/modules"
"${PROJECT_SOURCE_DIR}/../../../cmake/modules")
# -----------------------------------------------------------------------------
# Preconditions
include(SwiftUtils)
precondition(CMAKE_INSTALL_PREFIX)
precondition(SWIFT_DEST_ROOT)
precondition(SWIFT_HOST_VARIANT_SDK)
precondition(SWIFT_SOURCE_ROOT)
precondition(TOOLCHAIN_DIR)
# -----------------------------------------------------------------------------
# Cache Variables and Options
set(SWIFT_SOURCE_DIR "${SWIFT_SOURCE_ROOT}/swift" CACHE PATH
"Path to the directory containing the Swift sources.")
set(SWIFT_DARWIN_XCRUN_TOOLCHAIN "XcodeDefault" CACHE STRING
"The name of the toolchain to pass to 'xcrun'.")
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_OSX "10.9" CACHE STRING
"Minimum deployment target version for macOS.")
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_IOS "7.0" CACHE STRING
"Minimum deployment target version for iOS.")
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_TVOS "9.0" CACHE STRING
"Minimum deployment target version for tvOS.")
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_WATCHOS "2.0" CACHE STRING
"Minimum deployment target version for watchOS.")
set(SWIFT_INSTALL_COMPONENTS "sdk-overlay" CACHE STRING
"A semicolon-separated list of install components.")
set(SWIFT_SDKS "${SWIFT_HOST_VARIANT_SDK}" CACHE STRING
"List of Swift SDKs to build.")
set(SWIFT_NATIVE_LLVM_TOOLS_PATH "${TOOLCHAIN_DIR}/usr/bin" CACHE STRING
"Path to LLVM tools that are executable on the build machine.")
set(SWIFT_NATIVE_CLANG_TOOLS_PATH "${TOOLCHAIN_DIR}/usr/bin" CACHE STRING
"Path to Clang tools that are executable on the build machine.")
set(SWIFT_NATIVE_SWIFT_TOOLS_PATH "${TOOLCHAIN_DIR}/usr/bin" CACHE STRING
"Path to Swift tools that are executable on the build machine.")
# NOTE: The initialization in stdlib/CMakeLists.txt will be bypassed if we
# directly invoke CMake for this directory, so we initialize the variables
# related to library evolution here as well.
option(SWIFT_STDLIB_STABLE_ABI
"Should stdlib be built with stable ABI (library evolution, resilience)."
TRUE)
option(SWIFT_ENABLE_MODULE_INTERFACES
"Generate .swiftinterface files alongside .swiftmodule files."
"${SWIFT_STDLIB_STABLE_ABI}")
set(SWIFT_STDLIB_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
"Build type for the Swift standard library and SDK overlays.")
file(STRINGS "../../utils/availability-macros.def" SWIFT_STDLIB_AVAILABILITY_DEFINITIONS)
list(FILTER SWIFT_STDLIB_AVAILABILITY_DEFINITIONS EXCLUDE REGEX "^\\s*(#.*)?$")
set(SWIFT_DARWIN_SUPPORTED_ARCHS "" CACHE STRING
"Semicolon-separated list of architectures to configure on Darwin platforms. \
If left empty all default architectures are configured.")
set(SWIFT_DARWIN_MODULE_ARCHS "" CACHE STRING
"Semicolon-separated list of architectures to configure Swift module-only \
targets on Darwin platforms. These targets are in addition to the full \
library targets.")
# -----------------------------------------------------------------------------
# Constants
set(CMAKE_INSTALL_PREFIX
"${SWIFT_DEST_ROOT}${TOOLCHAIN_DIR}/usr")
set(SWIFT_DARWIN_PLATFORMS
OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR WATCHOS WATCHOS_SIMULATOR)
# Flags used to indicate we are building a standalone overlay.
# FIXME: We should cut this down to a single flag.
set(BUILD_STANDALONE TRUE)
set(SWIFT_BUILD_STANDALONE_OVERLAY TRUE)
set(SWIFT_STDLIB_LIBRARY_BUILD_TYPES "SHARED")
set(SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES "SHARED")
option(SWIFT_ENABLE_MACCATALYST
"Build the overlays with macCatalyst support"
FALSE)
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_MACCATALYST "13.0" CACHE STRING
"Minimum deployment target version for macCatalyst")
# -----------------------------------------------------------------------------
include(SwiftToolchainUtils)
if(NOT SWIFT_LIPO)
find_toolchain_tool(SWIFT_LIPO "${SWIFT_DARWIN_XCRUN_TOOLCHAIN}" lipo)
endif()
include(AddLLVM)
include(SwiftSharedCMakeConfig)
include(AddSwift)
include(SwiftHandleGybSources)
include(SwiftConfigureSDK)
include(SwiftComponents)
include(DarwinSDKs)
find_package(Python3 COMPONENTS Interpreter REQUIRED)
# Without this line, installing components is broken. This needs refactoring.
swift_configure_components()
list_subtract(
"${SWIFT_SDKS}"
"${SWIFT_CONFIGURED_SDKS}"
unknown_sdks)
precondition(unknown_sdks NEGATE
MESSAGE
"Unknown SDKs: ${unknown_sdks}")
# Some overlays include the runtime's headers, and some of those headers are
# generated at build time.
add_subdirectory("${SWIFT_SOURCE_DIR}/include" "${SWIFT_SOURCE_DIR}/include")
add_subdirectory("${SWIFT_SOURCE_DIR}/apinotes" "${SWIFT_SOURCE_DIR}/apinotes")
Computing file changes ...