-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPackage.swift
64 lines (58 loc) · 1.98 KB
/
Package.swift
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: 5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
enum CDEVVersion {
case none
case v1
case v2
}
let versionOfCDEV: CDEVVersion = .v1
var defineOfCDEV: String {
switch versionOfCDEV {
case .none:
return ""
case .v1:
return "PERIPHERY_GPIO_CDEV_SUPPORT=1"
case .v2:
return "PERIPHERY_GPIO_CDEV_SUPPORT=2"
}
}
let package = Package(
name: "PeripheryKit",
products: [
// Products define the executables and libraries a package produces, making them visible to other packages.
.library(
name: "PeripheryKit_static",
type: .static,
targets: ["PeripheryKit"]),
.library(
name: "PeripheryKit_shared",
type: .dynamic,
targets: ["PeripheryKit"])
],
targets: [
// Targets are the basic building blocks of a package, defining a module or a test suite.
// Targets can depend on other targets in this package and products from dependencies.
.target(
name: "Cperiphery",
cSettings: [
.define(defineOfCDEV)
]),
.target(
name: "PeripheryKit",
dependencies: ["Cperiphery"]),
.testTarget(
name: "PeripheryKitTests",
dependencies: ["PeripheryKit"]),
.executableTarget(name: "pio",
dependencies: [
"PeripheryKit"]),
.plugin(name: "DownloadCPeriphery",
capability: .command(
intent: .custom(verb: "download-c-periphery", description: "Download c-periphery"),
permissions: [
.allowNetworkConnections(scope: .all(ports: [443]), reason: "Download packages"),
.writeToPackageDirectory(reason: "Write packages")
]))
]
)