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..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"]
+ )
+ ]
+)