36 lines
No EOL
1.4 KiB
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),
|
|
]
|
|
),
|
|
]
|
|
) |