-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathPackage.swift
107 lines (105 loc) · 4.34 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
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
// swift-tools-version:5.9
import PackageDescription
let package = Package(
name: "metal-tools",
platforms: [
.iOS(.v13),
.macOS(.v10_15),
.macCatalyst(.v13)
],
products: [
.library(
name: "MetalTools",
targets: ["MetalTools"]
),
.library(
name: "MetalComputeTools",
targets: ["MetalComputeTools"]
),
.library(
name: "MetalRenderingTools",
targets: ["MetalRenderingTools"]
)
],
dependencies: [
.package(
url: "https://github.com/computer-graphics-tools/simd-tools.git",
.upToNextMajor(from: "0.0.3")
)
],
targets: [
.target(name: "MetalTools"),
.target(
name: "MetalComputeToolsSharedTypes",
publicHeadersPath: "."
),
.target(
name: "MetalComputeTools",
dependencies: [
.target(name: "MetalComputeToolsSharedTypes"),
.target(name: "MetalTools"),
.product(name: "SIMDTools", package: "simd-tools")
],
resources: [
.process("Kernels/BitonicSort/BitonicSort.metal"),
.process("Kernels/EuclideanDistance/EuclideanDistance.metal"),
.process("Kernels/IntegralImage/IntegralImage.metal"),
.process("Kernels/LookUpTable/LookUpTable.metal"),
.process("Kernels/MaskGuidedBlur/MaskGuidedBlur.metal"),
.process("Kernels/QuantizeDistanceField/QuantizeDistanceField.metal"),
.process("Kernels/RGBAToYCbCr/RGBAToYCbCr.metal"),
.process("Kernels/StdMeanNormalization/StdMeanNormalization.metal"),
.process("Kernels/TextureAddConstant/TextureAddConstant.metal"),
.process("Kernels/TextureAffineCrop/TextureAffineCrop.metal"),
.process("Kernels/TextureCopy/TextureCopy.metal"),
.process("Kernels/TextureDifferenceHighlight/TextureDifferenceHighlight.metal"),
.process("Kernels/TextureDivideByConstant/TextureDivideByConstant.metal"),
.process("Kernels/TextureInterpolation/TextureInterpolation.metal"),
.process("Kernels/TextureMask/TextureMask.metal"),
.process("Kernels/TextureMaskedMix/TextureMaskedMix.metal"),
.process("Kernels/TextureMax/TextureMax.metal"),
.process("Kernels/TextureMean/TextureMean.metal"),
.process("Kernels/TextureMin/TextureMin.metal"),
.process("Kernels/TextureMix/TextureMix.metal"),
.process("Kernels/TextureMultiplyAdd/TextureMultiplyAdd.metal"),
.process("Kernels/TextureResize/TextureResize.metal"),
.process("Kernels/TextureWeightedMix/TextureWeightedMix.metal"),
.process("Kernels/YCbCrToRGBA/YCbCrToRGBA.metal")
]
),
.target(
name: "MetalComputeToolsTestsResources",
path: "Tests/MetalComputeToolsTestsResources",
resources: [.copy("Shared")]
),
.testTarget(
name: "MetalComputeToolsTests",
dependencies: [
.target(name: "MetalComputeTools"),
.target(name: "MetalComputeToolsTestsResources")
],
resources: [.process("Shaders/Shaders.metal")]
),
.target(
name: "MetalRenderingToolsSharedTypes",
publicHeadersPath: "."
),
.target(
name: "MetalRenderingTools",
dependencies: [
.target(name: "MetalRenderingToolsSharedTypes"),
.target(name: "MetalComputeTools")
],
resources: [
.process("Renderers/Common/Common.metal"),
.process("Renderers/LinesRenderer/LinesRenderer.metal"),
.process("Renderers/MaskRenderer/MaskRenderer.metal"),
.process("Renderers/PointsRenderer/PointsRenderer.metal"),
.process("Renderers/RectangleRender/RectangleRender.metal"),
.process("Renderers/SimpleGeometryRender/SimpleGeometryRender.metal"),
.process("Renderers/TextRender/TextRender.metal"),
.copy("Resources/HelveticaNeue.mtlfontatlas")
]
)
]
)