forked from jcmosc/Compute
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackage.swift
More file actions
117 lines (113 loc) · 3.91 KB
/
Copy pathPackage.swift
File metadata and controls
117 lines (113 loc) · 3.91 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
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
// swift-tools-version: 6.2
import PackageDescription
let swiftRuntimeHeadersPath = "\(Context.packageDirectory)/Submodules/swift-runtime-headers"
var dependencies: [Package.Dependency] = [
.package(url: "https://github.com/apple/swift-algorithms", from: "1.2.0"),
.package(url: "https://github.com/groue/Semaphore", from: "0.1.0"),
]
let package = Package(
name: "Compute",
platforms: [.macOS(.v15)],
products: [
.library(name: "Compute", targets: ["Compute"]),
.library(name: "_ComputeTestSupport", targets: ["_ComputeTestSupport"]),
],
traits: [
.trait(name: "CompatibilityModeAttributeGraphV6")
],
dependencies: dependencies,
targets: [
.target(
name: "Platform",
cSettings: [
.define("_GNU_SOURCE", .when(platforms: [.linux]))
]
),
.target(
name: "SwiftCorelibsCoreFoundation"
),
.target(
name: "Utilities",
dependencies: [
"Platform",
.target(name: "SwiftCorelibsCoreFoundation", condition: .when(platforms: [.linux])),
]
),
.testTarget(
name: "UtilitiesTests",
dependencies: ["Utilities"],
cxxSettings: [.define("SWIFT_TESTING")],
swiftSettings: [.interoperabilityMode(.Cxx)]
),
.target(
name: "Compute",
dependencies: ["ComputeCxx"],
swiftSettings: [
.enableExperimentalFeature("Extern"),
.unsafeFlags([
"-enable-library-evolution",
// When -enable-library-evolution is specified verify-emitted-module-interface command fails
"-no-verify-emitted-module-interface",
]),
]
),
.testTarget(
name: "ComputeTests",
dependencies: [
"Compute",
"_ComputeTestSupport",
.product(name: "Semaphore", package: "Semaphore"),
],
swiftSettings: [
.enableExperimentalFeature("Extern")
],
linkerSettings: [.linkedLibrary("swiftDemangle")]
),
.testTarget(
name: "ComputeLayoutDescriptorTests",
dependencies: [
"Compute"
],
swiftSettings: [
.enableExperimentalFeature("Extern")
],
linkerSettings: [.linkedLibrary("swiftDemangle")]
),
.testTarget(
name: "ComputeSwiftTests",
dependencies: [
"Compute",
.product(name: "Algorithms", package: "swift-algorithms"),
],
swiftSettings: [
.enableExperimentalFeature("Extern")
],
linkerSettings: [.linkedLibrary("swiftDemangle")]
),
.target(
name: "ComputeCxx",
dependencies: [
"Platform",
"Utilities",
"ComputeCxxSwiftSupport",
.target(name: "SwiftCorelibsCoreFoundation", condition: .when(platforms: [.linux])),
],
cxxSettings: [
.headerSearchPath(""),
.headerSearchPath("internalInclude"),
.define("_GNU_SOURCE", .when(platforms: [.linux])),
.unsafeFlags([
"-static",
"-DCOMPILED_WITH_SWIFT",
"-DPURE_BRIDGING_MODE",
"-isystem", "\(swiftRuntimeHeadersPath)/include",
"-isystem", "\(swiftRuntimeHeadersPath)/stdlib/include",
"-isystem", "\(swiftRuntimeHeadersPath)/stdlib/public/SwiftShims",
]),
]
),
.target(name: "ComputeCxxSwiftSupport"),
.target(name: "_ComputeTestSupport"),
],
cxxLanguageStandard: .cxx20,
)