// swift-tools-version: 6.0
import PackageDescription
// The `EngineCheck` executable remains a headless `swift run` gate (works under
// the CLT-only toolchain and as a CI smoke). With Xcode installed, the
// `PhysarumEngineTests` XCTest target now covers the same contracts as proper
// unit tests (`swift test`).
let package = Package(
name: "PhysarumEngine",
platforms: [.macOS(.v14), .iOS(.v17), .tvOS(.v17)],
products: [
.library(name: "PhysarumEngine", targets: ["PhysarumEngine"]),
.executable(name: "EngineCheck", targets: ["EngineCheck"]),
],
targets: [
.target(
name: "PhysarumEngine",
resources: [.copy("Resources/Shaders")]
),
.executableTarget(
name: "EngineCheck",
dependencies: ["PhysarumEngine"]
),
.executableTarget(
name: "PresetGallery",
dependencies: ["PhysarumEngine"]
),
.executableTarget(
name: "PhysarumViewer",
dependencies: ["PhysarumEngine"],
resources: [.copy("Presets")],
swiftSettings: [.swiftLanguageMode(.v5)]
),
.testTarget(
name: "PhysarumEngineTests",
dependencies: ["PhysarumEngine"],
swiftSettings: [.swiftLanguageMode(.v5)]
),
]
)