mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
This change allows them to be overridden from the command line yet still keep default values.
68 lines
2.4 KiB
CMake
68 lines
2.4 KiB
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_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
|
|
set(SWIFT_MASTER_LOADED TRUE)
|
|
return()
|
|
endif()
|
|
|
|
set(CMAKE_INSTALL_PREFIX "${SWIFT_DEST_ROOT}${TOOLCHAIN_DIR}/usr")
|
|
|
|
# Only happens if it's called from a top-level cmake invocation.
|
|
set(BUILD_STANDALONE TRUE)
|
|
set(SWIFT_STDLIB_BUILD_TYPE "Release")
|
|
set(SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES "SHARED")
|
|
set(SWIFT_INSTALL_COMPONENTS "sdk-overlay" CACHE STRING "")
|
|
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_OSX "10.9" CACHE STRING "")
|
|
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_IOS "7.0" CACHE STRING "")
|
|
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_TVOS "9.0" CACHE STRING "")
|
|
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_WATCHOS "2.0" CACHE STRING "")
|
|
|
|
set(SWIFT_SOURCE_DIR "${SWIFT_SOURCE_ROOT}/src/swift" CACHE PATH "")
|
|
set(SWIFT_PATH_TO_LLVM_SOURCE "${SWIFT_SOURCE_ROOT}/src/llvm" CACHE PATH "")
|
|
set(SWIFT_NATIVE_SWIFT_TOOLS_PATH "${TOOLCHAIN_DIR}/usr/bin" CACHE PATH "")
|
|
set(SWIFT_SDKS ${SWIFT_HOST_VARIANT_SDK})
|
|
|
|
set(LLVM_CMAKE_MODULES_PATH "${SWIFT_PATH_TO_LLVM_SOURCE}/cmake/modules")
|
|
|
|
list(APPEND CMAKE_MODULE_PATH
|
|
"${PROJECT_SOURCE_DIR}/../../../../cmake/modules"
|
|
${LLVM_CMAKE_MODULES_PATH}
|
|
)
|
|
|
|
message(STATUS "FINDING LIPO")
|
|
execute_process(
|
|
COMMAND "xcrun" "-find" "lipo"
|
|
OUTPUT_VARIABLE LIPO
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
include(AddLLVM)
|
|
include(SwiftUtils)
|
|
include(SwiftSharedCMakeConfig)
|
|
include(AddSwift)
|
|
include(SwiftHandleGybSources)
|
|
include(SwiftConfigureSDK)
|
|
include(SwiftSource)
|
|
include(SwiftComponents)
|
|
include(DarwinSDKs)
|
|
|
|
# These variables should be passed as -D variables to cmake.
|
|
# e.g. cmake -G Ninja -DSWIFT_HOST_VARIANT_SDK=OSX ..
|
|
precondition(CMAKE_INSTALL_PREFIX)
|
|
precondition(SWIFT_SOURCE_ROOT)
|
|
precondition(SWIFT_DEST_ROOT)
|
|
precondition(SWIFT_HOST_VARIANT_SDK)
|
|
precondition(TOOLCHAIN_DIR)
|
|
|
|
# Without this line, installing components is broken. This needs refactoring.
|
|
swift_configure_components()
|
|
|
|
precondition(unknown_sdks NEGATE MESSAGE "Unknown SDKs: ${unknown_sdks}")
|
|
precondition(SWIFT_CONFIGURED_SDKS MESSAGE "No SDKs selected.")
|
|
precondition(SWIFT_HOST_VARIANT_SDK MESSAGE "No SDK for host tools.")
|
|
|
|
# ARCH is set somewhere later.
|
|
#precondition(SWIFT_HOST_VARIANT_ARCH MESSAGE "No arch for host tools")
|