portico/Benchmarks/Package.swift

36 lines
No EOL
1.4 KiB
Swift

// swift-tools-version: 6.2
import PackageDescription
// Benchmark harness for Portico. Kept as a separate SwiftPM package so the
// shipping `portico` manifest stays free of profiling-only dependencies.
//
// `gtk-swift` is named explicitly because the scenarios construct raw
// `Gtk.Widget` instances (the baseline column) and use some Adw/Gtk types
// directly; `Portico` re-exports only a curated set of aliases, not the full
// module.
let package = Package(
name: "portico-benchmarks",
platforms: [.macOS(.v14)],
dependencies: [
.package(path: ".."),
.package(url: "https://git.bscubed.dev/gtk-swift/gtk-swift.git", branch: "main"),
.package(url: "https://github.com/apple/swift-profile-recorder.git", .upToNextMinor(from: "0.3.13")),
],
targets: [
.target(name: "CBenchSupport"),
.executableTarget(
name: "PorticoBench",
dependencies: [
"CBenchSupport",
.product(name: "Portico", package: "portico"),
.product(name: "Adw", package: "gtk-swift"),
.product(name: "Gtk", package: "gtk-swift"),
.product(name: "ProfileRecorderServer", package: "swift-profile-recorder"),
],
swiftSettings: [
.enableExperimentalFeature("StrictConcurrency=complete"),
.defaultIsolation(MainActor.self),
]
),
]
)