aboutsummaryrefslogtreecommitdiff
path: root/Package.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Package.swift')
-rw-r--r--Package.swift52
1 files changed, 52 insertions, 0 deletions
diff --git a/Package.swift b/Package.swift
new file mode 100644
index 0000000..986adaa
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,52 @@
+// swift-tools-version: 6.4
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+ name: "NorgEditor",
+ platforms: [
+ .iOS(.v18),
+ .macOS(.v15),
+ .visionOS(.v2),
+ ],
+ products: [
+ // Products define the executables and libraries a package produces, making them visible to other packages.
+ .library(
+ name: "NorgEditor",
+ targets: ["NorgEditor"]
+ ),
+ ],
+ dependencies: [
+ .package(url: "https://git.sr.ht/~rbdr/norgkit", from: "1.1.0"),
+ .package(url: "https://git.sr.ht/~rbdr/norg-keyboard-toolbar", from: "1.1.0"),
+ ],
+ targets: [
+ // Targets are the basic building blocks of a package, defining a module or a test suite.
+ // Targets can depend on other targets in this package and products from dependencies.
+ .target(
+ name: "NorgEditor",
+ dependencies: [
+ .product(name: "NorgKit", package: "norgkit"),
+ // UIKit-only input accessory; native macOS uses NSTextView with no
+ // toolbar, so it's linked only where UIKit is available.
+ .product(
+ name: "NorgKeyboardToolbar",
+ package: "norg-keyboard-toolbar",
+ condition: .when(platforms: [.iOS, .visionOS, .macCatalyst])
+ ),
+ ],
+ swiftSettings: [
+ .enableUpcomingFeature("ApproachableConcurrency"),
+ ],
+ ),
+ .testTarget(
+ name: "NorgEditorTests",
+ dependencies: ["NorgEditor"],
+ swiftSettings: [
+ .enableUpcomingFeature("ApproachableConcurrency"),
+ ],
+ ),
+ ],
+ swiftLanguageModes: [.v6]
+)