mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
It doesn't exist in all SDKs, which could lead to a bare -I option, or pulling in a search path outside the sysroot/sdk. Swift SVN r26539
90 lines
2.6 KiB
CMake
90 lines
2.6 KiB
CMake
|
|
# On non-Darwin require UUID.
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
set(UUID_INCLUDE "")
|
|
set(UUID_LIBRARIES "")
|
|
else()
|
|
find_package(UUID REQUIRED)
|
|
set(UUID_INCLUDE "-I${UUID_INCLUDE_DIRS}")
|
|
endif()
|
|
|
|
add_swift_library(swiftBasic
|
|
Cache.cpp
|
|
ClusteredBitVector.cpp
|
|
Demangle.cpp
|
|
DemangleWrappers.cpp
|
|
DiagnosticConsumer.cpp
|
|
DiverseStack.cpp
|
|
EditorPlaceholder.cpp
|
|
JSONSerialization.cpp
|
|
LangOptions.cpp
|
|
Platform.cpp
|
|
PrettyStackTrace.cpp
|
|
PrimitiveParsing.cpp
|
|
Program.cpp
|
|
Punycode.cpp
|
|
PunycodeUTF8.cpp
|
|
QuotedString.cpp
|
|
Remangle.cpp
|
|
SourceLoc.cpp
|
|
StringExtras.cpp
|
|
TaskQueue.cpp
|
|
ThreadSafeRefCounted.cpp
|
|
Unicode.cpp
|
|
UUID.cpp
|
|
Version.cpp
|
|
|
|
# Platform-specific TaskQueue implementations
|
|
Unix/TaskQueue.inc
|
|
|
|
# Platform-agnostic fallback TaskQueue implementation
|
|
Default/TaskQueue.inc
|
|
|
|
UnicodeExtendedGraphemeClusters.cpp.gyb
|
|
|
|
C_COMPILE_FLAGS ${UUID_INCLUDE}
|
|
LINK_LIBRARIES ${UUID_LIBRARIES}
|
|
COMPONENT_DEPENDS support)
|
|
|
|
message(STATUS "Swift version: ${SWIFT_VERSION}")
|
|
message(STATUS "Swift vendor: ${SWIFT_VENDOR}")
|
|
|
|
string(REGEX REPLACE "([0-9]+)\\.[0-9]+(\\.[0-9]+)?" "\\1" SWIFT_VERSION_MAJOR
|
|
${SWIFT_VERSION})
|
|
string(REGEX REPLACE "[0-9]+\\.([0-9]+)(\\.[0-9]+)?" "\\1" SWIFT_VERSION_MINOR
|
|
${SWIFT_VERSION})
|
|
|
|
set_property(SOURCE Version.cpp APPEND_STRING PROPERTY COMPILE_FLAGS
|
|
" -DSWIFT_VERSION=${SWIFT_VERSION} -DSWIFT_VERSION_MAJOR=${SWIFT_VERSION_MAJOR} -DSWIFT_VERSION_MINOR=${SWIFT_VERSION_MINOR}")
|
|
|
|
if ("${SWIFT_VERSION}" MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+")
|
|
string(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" SWIFT_VERSION_PATCHLEVEL
|
|
${SWIFT_VERSION})
|
|
set_property(SOURCE Version.cpp APPEND_STRING PROPERTY COMPILE_FLAGS
|
|
" -DSWIFT_HAS_VERSION_PATCHLEVEL=1 -DSWIFT_VERSION_PATCHLEVEL=${SWIFT_VERSION_PATCHLEVEL}")
|
|
else()
|
|
set_property(SOURCE Version.cpp APPEND_STRING PROPERTY COMPILE_FLAGS
|
|
" -DSWIFT_HAS_VERSION_PATCHLEVEL=0")
|
|
endif()
|
|
|
|
if(NOT "${SWIFT_VENDOR}" STREQUAL "")
|
|
set_property(SOURCE Version.cpp APPEND_STRING PROPERTY COMPILE_FLAGS
|
|
" -DSWIFT_VENDOR=\"\\\"${SWIFT_VENDOR}\\\"\"")
|
|
endif()
|
|
|
|
set(SWIFT_REPOSITORY_STRING "" CACHE STRING
|
|
"The string that identifies the SCM commit(s) for this build")
|
|
|
|
if(NOT "${CLANG_REPOSITORY_STRING}" STREQUAL "")
|
|
set(SWIFT_REPOSITORY_STRING
|
|
"${SWIFT_REPOSITORY_STRING} ${CLANG_REPOSITORY_STRING}")
|
|
endif()
|
|
|
|
message(STATUS "Swift repository string: ${SWIFT_REPOSITORY_STRING}")
|
|
|
|
if(NOT "${SWIFT_REPOSITORY_STRING}" STREQUAL "")
|
|
set_property(SOURCE Version.cpp APPEND_STRING PROPERTY COMPILE_FLAGS
|
|
" -DSWIFT_REPOSITORY_STRING=\"\\\"${SWIFT_REPOSITORY_STRING}\\\"\"")
|
|
endif()
|
|
|