-
Notifications
You must be signed in to change notification settings - Fork 131
/
Copy pathCMakeLists.txt
79 lines (75 loc) · 2.09 KB
/
CMakeLists.txt
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
# This source file is part of the Swift.org open source project
#
# Copyright (c) 2014 - 2019 Apple Inc. and the Swift project authors
# Licensed under Apache License v2.0 with Runtime Library Exception
#
# See http://swift.org/LICENSE.txt for license information
# See http://swift.org/CONTRIBUTORS.txt for Swift project authors
add_library(TSCBasic
Await.swift
ByteString.swift
CStringArray.swift
CacheableSequence.swift
Closable.swift
CodableResult.swift
CollectionAlgorithms.swift
CollectionExtensions.swift
Condition.swift
DeltaAlgorithm.swift
DiagnosticsEngine.swift
DictionaryExtensions.swift
DictionaryLiteralExtensions.swift
EditDistance.swift
FileInfo.swift
FileSystem.swift
GraphAlgorithms.swift
HashAlgorithms.swift
JSON.swift
JSONMapper.swift
KeyedPair.swift
LazyCache.swift
Lock.swift
OSLog.swift
ObjectIdentifierProtocol.swift
OrderedDictionary.swift
OrderedSet.swift
WritableByteStream.swift
Path.swift
PathShims.swift
Process/Process.swift
Process/ProcessEnv.swift
Process/ProcessSet.swift
RegEx.swift
Result.swift
SortedArray.swift
StringConversions.swift
SynchronizedQueue.swift
TemporaryFile.swift
TerminalController.swift
Thread.swift
Tuple.swift
misc.swift)
target_compile_options(TSCBasic PUBLIC
# Don't use GNU strerror_r on Android.
"$<$<PLATFORM_ID:Android>:SHELL:-Xcc -U_GNU_SOURCE>"
# Ignore secure function warnings on Windows.
"$<$<PLATFORM_ID:Windows>:SHELL:-Xcc -D_CRT_SECURE_NO_WARNINGS>")
target_link_libraries(TSCBasic PRIVATE
TSCclibc
TSCLibc)
if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
if(Foundation_FOUND)
target_link_libraries(TSCBasic PUBLIC
Foundation)
endif()
endif()
target_link_libraries(TSCBasic PRIVATE
$<$<PLATFORM_ID:Windows>:Pathcch>)
# NOTE(compnerd) workaround for CMake not setting up include flags yet
set_target_properties(TSCBasic PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY})
install(TARGETS TSCBasic
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin)
set_property(GLOBAL APPEND PROPERTY TSC_EXPORTS TSCBasic)