-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackage.swift
More file actions
93 lines (86 loc) · 2.39 KB
/
Package.swift
File metadata and controls
93 lines (86 loc) · 2.39 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
// swift-tools-version: 6.0
import PackageDescription
import Foundation
let isWasmBuild = ProcessInfo.processInfo.environment["WASM_BUILD"] == "1"
var packageProducts: [Product] = [
.library(name: "veif", targets: ["veif"]),
]
var packageDeps: [Package.Dependency] = [
.package(url: "https://github.com/tayloraswift/swift-png", from: "4.4.9")
]
var packageTargets: [Target] = [
.target(
name: "veif",
dependencies: [],
swiftSettings: [
.unsafeFlags(["-Ounchecked", "-wmo", "-Xcc", "-msimd128"], .when(platforms: [.wasi]))
]
),
.executableTarget(
name: "example",
dependencies: ["veif"],
//swiftSettings:[.unsafeFlags(["-whole-module-optimization"])]
),
.testTarget(
name: "veifTests",
dependencies: ["veif"]
),
.executableTarget(
name: "veif-enc",
dependencies: [
"veif",
.product(name: "PNG", package: "swift-png")
]
),
.executableTarget(
name: "veif-dec",
dependencies: [
"veif",
.product(name: "PNG", package: "swift-png")
]
)
]
if isWasmBuild {
packageDeps.append(.package(url: "https://github.com/swiftwasm/JavaScriptKit", from: "0.45.0"))
packageProducts.append(.executable(name: "wasm", targets: ["wasm"]))
packageTargets.append(
.executableTarget(
name: "wasm",
dependencies: [
"veif",
.product(name: "JavaScriptKit", package: "JavaScriptKit"),
.product(name: "JavaScriptEventLoop", package: "JavaScriptKit")
],
swiftSettings: [
.enableExperimentalFeature("Extern"),
.unsafeFlags(["-Ounchecked", "-wmo", "-Xcc", "-msimd128"], .when(platforms: [.wasi]))
],
plugins: [
.plugin(name: "BridgeJS", package: "JavaScriptKit")
]
)
)
/*
packageTargets.append(
.testTarget(
name: "wasmTests",
dependencies: [
"veif",
"wasm"
],
swiftSettings: [],
plugins: []
)
)
*/
}
let package = Package(
name: "veif",
platforms: [
.macOS(.v15)
],
products: packageProducts,
dependencies: packageDeps,
targets: packageTargets,
swiftLanguageModes: [.v6]
)