aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNavan Chauhan <navanchauhan@gmail.com>2024-08-09 14:52:20 -0600
committerNavan Chauhan <navanchauhan@gmail.com>2024-08-09 14:52:20 -0600
commit132f13bb3f1f305126c26949f2be60febdf10bb4 (patch)
treef95114979a5093c162bd03d34a02ac8d12e6edeb
parent5ffec6ed7c40522c88a5bb62fe22e233b358244f (diff)
working copy
-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..af094a6
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,41 @@
+// swift-tools-version: 5.10
+import PackageDescription
+
+let lvConfPath: String = Context.environment["LV_CONF_PATH"] ?? "\(Context.packageDirectory)/Sources/CLVGL/lv_conf.h"
+
+#if os(macOS)
+let sdlCFlags = [Context.environment["SDL_INCLUDE_PATH"] ?? "-I/opt/homebrew/include"]
+#else
+let sdlCFlags = [Context.environment["SDL_INCLUDE_PATH"] ?? ""]
+#endif
+
+let package = Package(
+ name: "SwiftLVGL",
+ products: [
+ .library(name: "CLVGL", targets: ["CLVGL"]),
+ .library(name: "SwiftLVGL", targets: ["SwiftLVGL"]),
+ ],
+ targets: [
+ .target(
+ name: "CLVGL",
+ dependencies: [],
+ exclude: ["lvgl/demos", "lvgl/examples", "lvgl/tests"],
+ cSettings: [
+ .headerSearchPath("lvgl"),
+ .headerSearchPath("."),
+ .define("LV_CONF_INCLUDE_SIMPLE"),
+ .define("LV_CONF_PATH", to: lvConfPath),
+ .unsafeFlags(sdlCFlags)
+ ],
+ linkerSettings: [.unsafeFlags(["-L/opt/homebrew/lib", "-lSDL2"])]
+ ),
+ .target(
+ name: "SwiftLVGL",
+ dependencies: ["CLVGL"]
+ ),
+ .executableTarget(
+ name: "SwiftLVGLDemo",
+ dependencies: ["SwiftLVGL"]
+ )
+ ]
+)