-
Notifications
You must be signed in to change notification settings - Fork 5
/
Project.swift
84 lines (82 loc) · 2.65 KB
/
Project.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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import ProjectDescription
func frameworks() -> [String] {
[
"alib2abstraction",
"alib2algo",
"alib2common",
"alib2data",
"alib2measure",
"alib2std",
"alib2str",
"alib2xml",
]
}
let project = Project(
name: "AutomataEditor",
targets: [
Target(
name: "AutomataEditor",
platform: .iOS,
product: .app,
bundleId: "marekfort.AutomataEditor",
deploymentTarget: .iOS(targetVersion: "16.0", devices: .ipad),
infoPlist: .file(path: "AutomataEditor/Info.plist"),
sources: [
"AutomataEditor/**",
"automata-editor-model/AutomataClassifier.mlmodel"
],
resources: [
"AutomataEditor/*.xcassets",
],
dependencies: [
.external(name: "ComposableArchitecture"),
.external(name: "SwiftSplines"),
.target(name: "SwiftAutomataLibrary"),
]
),
Target(
name: "AutomataEditorTests",
platform: .iOS,
product: .unitTests,
bundleId: "marekfort.AutomataEditorTests",
infoPlist: .default,
sources: "AutomataEditorTests/**",
dependencies: [
.target(name: "AutomataEditor"),
.xctest,
]
),
Target(
name: "SwiftAutomataLibrary",
platform: .iOS,
product: .framework,
bundleId: "marekfort.SwiftAutomataLibrary",
deploymentTarget: .iOS(targetVersion: "14.0", devices: .ipad),
infoPlist: .default,
sources: "SwiftAutomataLibrary/**",
headers: .headers(
public: nil,
private: "SwiftAutomataLibrary/**",
project: nil
),
dependencies: frameworks()
.map { .xcframework(path: Path($0 + ".xcframework")) },
settings: .settings(
base: [
"HEADER_SEARCH_PATHS": .array(
frameworks().map {
"$(SRCROOT)/automata-library/\($0)/src"
}
),
"SWIFT_OBJC_BRIDGING_HEADER": "$(SRCROOT)/SwiftAutomataLibrary/SwiftAutomataLibrary-BridgingHeader.h",
"OTHER_CPLUSPLUSFLAGS": [
"$(OTHER_CFLAGS)",
"'-std=gnu++17'",
]
],
configurations: [],
defaultSettings: .recommended
)
)
]
)