forked from swiftlang/swift-foundation
-
Notifications
You must be signed in to change notification settings - Fork 0
83 lines (76 loc) · 2.85 KB
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
// swift-tools-version: 5.8
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "FoundationPreview",
platforms: [.macOS("13.3"), .iOS("16.4"), .tvOS("16.4"), .watchOS("9.4")],
products: [
// Products define the executables and libraries a package produces, and make them visible to other packages.
.library(name: "FoundationPreview", targets: ["FoundationPreview"]),
.library(name: "FoundationEssentials", targets: ["FoundationEssentials"]),
.library(name: "FoundationInternationalization", targets: ["FoundationInternationalization"]),
],
dependencies: [
.package(
url: "https://github.com/apple/swift-collections",
revision: "d8003787efafa82f9805594bc51100be29ac6903"), // on release/1.1
.package(
url: "https://github.com/apple/swift-foundation-icu",
revision: "0c1de7149a39a9ff82d4db66234dec587b30a3ad")
],
targets: [
// Foundation (umbrella)
.target(
name: "FoundationPreview",
dependencies: [
"FoundationEssentials",
"FoundationInternationalization",
],
path: "Sources/Foundation"),
// _CShims (Internal)
.target(name: "_CShims",
cSettings: [.define("_CRT_SECURE_NO_WARNINGS",
.when(platforms: [.windows]))]),
// TestSupport (Internal)
.target(name: "TestSupport", dependencies: [
"FoundationEssentials",
"FoundationInternationalization",
]),
// FoundationEssentials
.target(
name: "FoundationEssentials",
dependencies: [
"_CShims",
.product(name: "_RopeModule", package: "swift-collections"),
],
swiftSettings: [
.enableExperimentalFeature("VariadicGenerics"),
.enableExperimentalFeature("AccessLevelOnImport")
]
),
.testTarget(name: "FoundationEssentialsTests", dependencies: [
"TestSupport",
"FoundationEssentials"
]),
// FoundationInternationalization
.target(
name: "FoundationInternationalization",
dependencies: [
.target(name: "FoundationEssentials"),
.target(name: "_CShims"),
.product(name: "FoundationICU", package: "swift-foundation-icu")
],
swiftSettings: [
.enableExperimentalFeature("AccessLevelOnImport")
]
),
]
)
#if canImport(RegexBuilder)
package.targets.append(contentsOf: [
.testTarget(name: "FoundationInternationalizationTests", dependencies: [
"TestSupport",
"FoundationInternationalization"
]),
])
#endif