1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342
|
# TODO: Hook up the CommandLine support sources
gyb_expand(AtomicInt.swift.gyb AtomicInt.swift
FLAGS "-DCMAKE_SIZEOF_VOID_P=${SwiftCore_SIZEOF_POINTER}")
gyb_expand(FloatingPointParsing.swift.gyb FloatingPointParsing.swift
FLAGS "-DCMAKE_SIZEOF_VOID_P=${SwiftCore_SIZEOF_POINTER}")
gyb_expand(FloatingPointTypes.swift.gyb FloatingPointTypes.swift
FLAGS "-DCMAKE_SIZEOF_VOID_P=${SwiftCore_SIZEOF_POINTER}")
gyb_expand(IntegerTypes.swift.gyb IntegerTypes.swift
FLAGS "-DCMAKE_SIZEOF_VOID_P=${SwiftCore_SIZEOF_POINTER}")
gyb_expand(LegacyInt128.swift.gyb LegacyInt128.swift
FLAGS "-DCMAKE_SIZEOF_VOID_P=${SwiftCore_SIZEOF_POINTER}")
gyb_expand(UnsafeBufferPointer.swift.gyb UnsafeBufferPointer.swift
FLAGS "-DCMAKE_SIZEOF_VOID_P=${SwiftCore_SIZEOF_POINTER}")
gyb_expand(UnsafeRawBufferPointer.swift.gyb UnsafeRawBufferPointer.swift
FLAGS "-DCMAKE_SIZEOF_VOID_P=${SwiftCore_SIZEOF_POINTER}")
gyb_expand(Tuple.swift.gyb Tuple.swift
FLAGS "-DCMAKE_SIZEOF_VOID_P=${SwiftCore_SIZEOF_POINTER}")
# These sources are not strictly sorted alphabetically because the compiler
# crashes if they are.
add_library(swiftCore
Algorithm.swift
ArrayBody.swift
ArrayBuffer.swift
ArrayBufferProtocol.swift
ArrayCast.swift
Array.swift
ArrayShared.swift
ArraySlice.swift
ArrayType.swift
ASCII.swift
Assert.swift
AssertCommon.swift
BidirectionalCollection.swift
Bitset.swift
Bool.swift
BridgeObjectiveC.swift
BridgeStorage.swift
BridgingBuffer.swift
Builtin.swift
BuiltinMath.swift
Character.swift
CocoaArray.swift
Codable.swift
Collection.swift
CollectionAlgorithms.swift
Comparable.swift
CompilerProtocols.swift
Sendable.swift
ContiguousArray.swift
ContiguouslyStored.swift
ClosedRange.swift
ContiguousArrayBuffer.swift
CString.swift
CTypes.swift
DebuggerSupport.swift
Dictionary.swift
DictionaryBridging.swift
DictionaryBuilder.swift
DictionaryCasting.swift
DictionaryStorage.swift
DictionaryVariant.swift
DiscontiguousSlice.swift
DropWhile.swift
Dump.swift
EmptyCollection.swift
Equatable.swift
ErrorType.swift
ExistentialCollection.swift
Filter.swift
FlatMap.swift
Flatten.swift
FloatingPoint.swift
Hashable.swift
AnyHashable.swift # ORDER DEPENDENCY
Hasher.swift
Hashing.swift
HashTable.swift
Identifiable.swift
Indices.swift
InputStream.swift
IntegerParsing.swift
Integers.swift
Join.swift
KeyPath.swift
KeyValuePairs.swift
LazyCollection.swift
LazySequence.swift
LegacyABI.swift
LifetimeManager.swift
Macros.swift
ManagedBuffer.swift
Map.swift
MemoryLayout.swift
UnicodeScalar.swift # ORDER DEPENDENCY: Must precede Mirrors.swift
Mirrors.swift
Misc.swift
MutableCollection.swift
NativeDictionary.swift
NativeSet.swift
NewtypeWrapper.swift
NFC.swift
NFD.swift
ObjectIdentifier.swift
Optional.swift
OptionSet.swift
OutputStream.swift
Pointer.swift
Policy.swift
PrefixWhile.swift
Prespecialize.swift
Print.swift
PtrAuth.swift
Random.swift
RandomAccessCollection.swift
Range.swift
RangeReplaceableCollection.swift
RangeSet.swift
RangeSetRanges.swift
ReflectionMirror.swift
Repeat.swift
REPL.swift
Result.swift
Reverse.swift
Runtime.swift
RuntimeFunctionCounters.swift
SipHash.swift
Sequence.swift
SequenceAlgorithms.swift
Set.swift
SetAlgebra.swift
SetAnyHashableExtensions.swift
SetBridging.swift
SetBuilder.swift
SetCasting.swift
SetStorage.swift
SetVariant.swift
ShadowProtocols.swift
Shims.swift
Slice.swift
SmallString.swift
Sort.swift
StaticString.swift
StaticPrint.swift
Stride.swift
StringHashable.swift # ORDER DEPENDENCY: Must precede String.swift
String.swift
StringBreadcrumbs.swift
StringBridge.swift
StringCharacterView.swift
StringComparable.swift
StringComparison.swift
StringCreate.swift
StringGuts.swift
StringGutsSlice.swift
StringGutsRangeReplaceable.swift
StringObject.swift
StringProtocol.swift
StringIndex.swift
StringIndexConversions.swift
StringIndexValidation.swift
StringInterpolation.swift
StringLegacy.swift
StringNormalization.swift
StringRangeReplaceableCollection.swift
StringStorage.swift
StringStorageBridge.swift
StringSwitch.swift
StringTesting.swift
StringUnicodeScalarView.swift
StringUTF16View.swift
StringUTF8View.swift
StringUTF8Validation.swift
StringWordBreaking.swift
Substring.swift
SwiftNativeNSArray.swift
TemporaryAllocation.swift
ThreadLocalStorage.swift
UIntBuffer.swift
UnavailableStringAPIs.swift
UnicodeData.swift
UnicodeEncoding.swift
UnicodeBreakProperty.swift
UnicodeHelpers.swift
UnicodeParser.swift
UnicodeScalarProperties.swift
CharacterProperties.swift # ORDER DEPENDENCY: UnicodeScalarProperties.swift
UnicodeSPI.swift
Unmanaged.swift
UnmanagedOpaqueString.swift
UnmanagedString.swift
UnsafePointer.swift
UnsafeRawPointer.swift
UTFEncoding.swift
UTF8.swift
UTF16.swift
UTF32.swift
Unicode.swift # ORDER DEPENDENCY: must follow new unicode support
StringGraphemeBreaking.swift # ORDER DEPENDENCY: Must follow UTF16.swift
ValidUTF8Buffer.swift
WriteBackMutableSlice.swift
MigrationSupport.swift
Availability.swift
CollectionDifference.swift
CollectionOfOne.swift
Diffing.swift
Duration.swift
DurationProtocol.swift
FloatingPointRandom.swift
Instant.swift
Int128.swift
Mirror.swift
PlaygroundDisplay.swift
CommandLine.swift
SliceBuffer.swift
StaticBigInt.swift
UInt128.swift
UnfoldSequence.swift
UnsafeBufferPointerSlice.swift
VarArgs.swift
Zip.swift
"${PROJECT_SOURCE_DIR}/linker-support/magic-symbols-for-install-name.c"
"${CMAKE_CURRENT_BINARY_DIR}/AtomicInt.swift"
"${CMAKE_CURRENT_BINARY_DIR}/FloatingPointParsing.swift"
"${CMAKE_CURRENT_BINARY_DIR}/FloatingPointTypes.swift"
"${CMAKE_CURRENT_BINARY_DIR}/IntegerTypes.swift"
"${CMAKE_CURRENT_BINARY_DIR}/LegacyInt128.swift"
"${CMAKE_CURRENT_BINARY_DIR}/UnsafeBufferPointer.swift"
"${CMAKE_CURRENT_BINARY_DIR}/UnsafeRawBufferPointer.swift"
"${CMAKE_CURRENT_BINARY_DIR}/Tuple.swift")
set_target_properties(swiftCore PROPERTIES Swift_MODULE_NAME Swift)
if(SwiftCore_ENABLE_COMMANDLINE_SUPPORT)
target_sources(swiftCore PRIVATE CommandLine.swift)
target_link_libraries(swiftCore PRIVATE swiftCommandLineSupport)
endif()
if(SwiftCore_ENABLE_VECTOR_TYPES)
gyb_expand(SIMDConcreteOperations.swift.gyb
SIMDConcreteOperations.swift
FLAGS "-DCMAKE_SIZEOF_VOID_P=${SwiftCore_SIZEOF_POINTER}")
gyb_expand(SIMDVectorTypes.swift.gyb
SIMDVectorTypes.swift
FLAGS "-DCMAKE_SIZEOF_VOID_P=${SwiftCore_SIZEOF_POINTER}")
target_sources(swiftCore PRIVATE
SIMDVector.swift
"${CMAKE_CURRENT_BINARY_DIR}/SIMDConcreteOperations.swift"
"${CMAKE_CURRENT_BINARY_DIR}/SIMDVectorTypes.swift")
endif()
target_compile_options(swiftCore PRIVATE
$<$<COMPILE_LANGUAGE:Swift>:-parse-stdlib>
$<$<COMPILE_LANGUAGE:Swift>:-nostdimport>
$<$<COMPILE_LANGUAGE:Swift>:-explicit-module-build>
$<$<COMPILE_LANGUAGE:Swift>:-disable-autolinking-runtime-compatibility-dynamic-replacements>
$<$<COMPILE_LANGUAGE:Swift>:-no-link-objc-runtime>
$<$<COMPILE_LANGUAGE:Swift>:-warn-implicit-overrides>
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-library-level api>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-runtime-compatibility-version none>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature NoncopyableGenerics2>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature SuppressedAssociatedTypes>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature SE427NoInferenceOnExtension>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature AllowUnsafeAttribute>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature MemberImportVisibility>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature TypedThrows>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature Macros>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature FreestandingMacros>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature BitwiseCopyable>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-enable-experimental-feature Extern>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -group-info-path -Xfrontend ${CMAKE_CURRENT_SOURCE_DIR}/GroupInfo.json>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-experimental-concise-pound-file>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-autolinking-runtime-compatibility-concurrency>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-objc-attr-requires-foundation-module>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -require-explicit-availability=ignore>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enforce-exclusivity=unchecked>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-ossa-modules>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -target-min-inlining-version -Xfrontend min>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -enable-lexical-lifetimes=false>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -empty-abi-descriptor>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-concurrency-module-import>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-backtracing-module-import>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -disable-implicit-string-processing-module-import>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xfrontend -prespecialize-generic-metadata>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xllvm -sil-inline-generics>"
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xllvm -sil-partial-specialization>")
target_compile_definitions(swiftCore PRIVATE
$<$<BOOL:${SwiftCore_ENABLE_REFLECTION}>:-DSWIFT_ENABLE_REFLECTION>
$<$<BOOL:${SwiftCore_ENABLE_COMPACT_ABSOLUTE_FUNCTION_POINTERS}>:-DSWIFT_COMPACT_ABSOLUTE_FUNCTION_POINTER>
$<$<COMPILE_LANGUAGE:C,CX>:-DSWIFT_TARGET_LIBRARY_NAME=swiftCore>)
target_compile_options(swiftCore PRIVATE
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-Xcc -DswiftCore_EXPORTS>")
target_link_libraries(swiftCore PRIVATE swiftShims)
target_link_libraries(swiftCore
PRIVATE
swiftRuntime
swiftLLVMSupport
swiftDemangling
swiftStdlibStubs
swiftThreading)
if(NOT POLICY CMP0157)
target_compile_options(swiftCore PRIVATE
$<TARGET_OBJECTS:swiftRuntime>
$<TARGET_OBJECTS:swiftLLVMSupport>
$<TARGET_OBJECTS:swiftDemangling>
$<TARGET_OBJECTS:swiftStdlibStubs>
$<TARGET_OBJECTS:swiftThreading>)
endif()
if(WIN32)
target_link_libraries(swiftCore PRIVATE shell32 DbgHelp Synchronization)
elseif(NOT APPLE AND NOT LINUX AND NOT ANDROID AND UNIX)
find_library(EXECINFO_LIBRARY execinfo)
target_link_libraries(swiftCore PRIVATE "${EXECINFO_LIBRARY}")
endif()
install(TARGETS swiftCore)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Swift.swiftmodule"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/swift/Swift.swiftmodule"
RENAME "${SwiftCore_MODULE_TRIPLE}.swiftmodule")
emit_swift_interface(swiftCore)
install_swift_interface(swiftCore)
# TODO: Embedded SwiftCore builds
# FIXME: Embedded builds should be separate CMake invocations because they are
# building for a different environment. I'm not sure how CMake will
# handle their build model though, so we'll continue to cram them in here
# as they are for now, but should eventually tie into the rest of the
# build graph normally.
|