aboutsummaryrefslogtreecommitdiff
path: root/Package.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Package.swift')
-rw-r--r--Package.swift41
1 files changed, 41 insertions, 0 deletions
diff --git a/Package.swift b/Package.swift
new file mode 100644
index 0000000..c35e933
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,41 @@
+// swift-tools-version:5.3
+
+import Foundation
+import PackageDescription
+
+var sources = ["src/parser.c"]
+if FileManager.default.fileExists(atPath: "src/scanner.c") {
+ sources.append("src/scanner.c")
+}
+
+let package = Package(
+ name: "TreeSitterWmap",
+ products: [
+ .library(name: "TreeSitterWmap", targets: ["TreeSitterWmap"]),
+ ],
+ dependencies: [
+ .package(name: "SwiftTreeSitter", url: "https://github.com/tree-sitter/swift-tree-sitter", from: "0.9.0"),
+ ],
+ targets: [
+ .target(
+ name: "TreeSitterWmap",
+ dependencies: [],
+ path: ".",
+ sources: sources,
+ resources: [
+ .copy("queries")
+ ],
+ publicHeadersPath: "bindings/swift",
+ cSettings: [.headerSearchPath("src")]
+ ),
+ .testTarget(
+ name: "TreeSitterWmapTests",
+ dependencies: [
+ "SwiftTreeSitter",
+ "TreeSitterWmap",
+ ],
+ path: "bindings/swift/TreeSitterWmapTests"
+ )
+ ],
+ cLanguageStandard: .c11
+)