|
1 | 1 | // swift-tools-version: 6.0 |
2 | 2 | import PackageDescription |
| 3 | +import Foundation |
| 4 | + |
| 5 | +let engineResources: [Resource] = { |
| 6 | + var resources: [Resource] = [ |
| 7 | + .copy("UntoldEngineKernels/UntoldEngineKernels.metallib"), // macOS |
| 8 | + .copy("UntoldEngineKernels/UntoldEngineKernels-ios.metallib"), // iOS (device) |
| 9 | + .copy("UntoldEngineKernels/UntoldEngineKernels-iossim.metallib"), // iOS (simulator) |
| 10 | + .copy("UntoldEngineKernels/UntoldEngineKernels-tvos.metallib"), // tvOS (device) |
| 11 | + .copy("UntoldEngineKernels/UntoldEngineKernels-tvossim.metallib"), // tvOS (simulator) |
| 12 | + .copy("UntoldEngineKernels/UntoldEngineKernels-xros.metallib"), // visionOS (device) |
| 13 | + .copy("UntoldEngineKernels/UntoldEngineKernels-xrossim.metallib"), // visionOS (simulator) |
| 14 | + ] |
| 15 | + |
| 16 | + // Keep model resources optional so package builds still succeed when that folder is absent. |
| 17 | + if FileManager.default.fileExists(atPath: "Sources/UntoldEngine/Resources/Models") { |
| 18 | + resources.append(.process("Resources/Models")) |
| 19 | + } |
| 20 | + |
| 21 | + resources.append(contentsOf: [ |
| 22 | + .process("Resources/HDR"), |
| 23 | + .process("Resources/textures"), |
| 24 | + ]) |
| 25 | + |
| 26 | + return resources |
| 27 | +}() |
3 | 28 |
|
4 | 29 | let package = Package( |
5 | 30 | name: "UntoldEngine", |
@@ -42,18 +67,7 @@ let package = Package( |
42 | 67 | exclude: ["Shaders"], |
43 | 68 |
|
44 | 69 | // 📦 Ship prebuilt metallibs for each platform; pick at runtime. |
45 | | - resources: [ |
46 | | - .copy("UntoldEngineKernels/UntoldEngineKernels.metallib"), // macOS |
47 | | - .copy("UntoldEngineKernels/UntoldEngineKernels-ios.metallib"), // iOS (device) |
48 | | - .copy("UntoldEngineKernels/UntoldEngineKernels-iossim.metallib"), // iOS (simulator) |
49 | | - .copy("UntoldEngineKernels/UntoldEngineKernels-tvos.metallib"), // tvOS (device) |
50 | | - .copy("UntoldEngineKernels/UntoldEngineKernels-tvossim.metallib"), // tvOS (simulator) |
51 | | - .copy("UntoldEngineKernels/UntoldEngineKernels-xros.metallib"), // visionOS (device) |
52 | | - .copy("UntoldEngineKernels/UntoldEngineKernels-xrossim.metallib"), // visionOS (simulator) |
53 | | - .process("Resources/Models"), |
54 | | - .process("Resources/HDR"), |
55 | | - .process("Resources/textures"), |
56 | | - ], |
| 70 | + resources: engineResources, |
57 | 71 | swiftSettings: [ |
58 | 72 | .swiftLanguageMode(.v5), |
59 | 73 | ], |
|
0 commit comments