-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackage.swift
More file actions
64 lines (59 loc) · 1.93 KB
/
Copy pathPackage.swift
File metadata and controls
64 lines (59 loc) · 1.93 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
// swift-tools-version:6.0
import PackageDescription
let package = Package(
name: "MacFanControl",
platforms: [.macOS(.v14)],
products: [
.executable(name: "MacFanControl", targets: ["MacFanControlApp"]),
.executable(name: "MacFanControlHelper", targets: ["MacFanControlHelper"]),
],
targets: [
// ---- C shim: IOKit SMC access ----
.target(
name: "SMCShim",
path: "Sources/SMCShim",
publicHeadersPath: "include",
cSettings: [
.headerSearchPath("include"),
],
linkerSettings: [
.linkedFramework("IOKit"),
.linkedFramework("CoreFoundation"),
]
),
// ---- Shared Swift library ----
.target(
name: "MacFanControlCore",
dependencies: ["SMCShim"],
path: "Sources/MacFanControlCore"
),
// ---- SwiftUI GUI app ----
.executableTarget(
name: "MacFanControlApp",
dependencies: ["MacFanControlCore"],
path: "Sources/MacFanControlApp",
exclude: ["Resources/Info.plist"],
linkerSettings: [
.unsafeFlags([
"-Xlinker", "-sectcreate",
"-Xlinker", "__TEXT",
"-Xlinker", "__info_plist",
"-Xlinker", "Sources/MacFanControlApp/Resources/Info.plist",
])
]
),
// ---- Privileged helper daemon ----
.executableTarget(
name: "MacFanControlHelper",
dependencies: ["MacFanControlCore"],
path: "Sources/MacFanControlHelper",
exclude: ["Resources"]
),
// ---- Tests ----
.testTarget(
name: "MacFanControlCoreTests",
dependencies: ["MacFanControlCore"],
path: "Tests/MacFanControlCoreTests"
),
]
)