diff --git a/build.zig b/build.zig index d72bdc28c..668904336 100644 --- a/build.zig +++ b/build.zig @@ -98,7 +98,7 @@ pub fn build(b: *std.Build) !void { const xcframework = try buildpkg.GhosttyXCFramework.init( b, &deps, - .universal, + config.xcframework_target, ); xcframework.install(); diff --git a/src/build/Config.zig b/src/build/Config.zig index 3449a9ce3..e5e090a6d 100644 --- a/src/build/Config.zig +++ b/src/build/Config.zig @@ -9,6 +9,7 @@ const apprt = @import("../apprt.zig"); const font = @import("../font/main.zig"); const rendererpkg = @import("../renderer.zig"); const Command = @import("../Command.zig"); +const XCFramework = @import("GhosttyXCFramework.zig"); const WasmTarget = @import("../os/wasm/target.zig").Target; const gtk = @import("gtk.zig"); @@ -24,6 +25,7 @@ const app_version: std.SemanticVersion = .{ .major = 1, .minor = 1, .patch = 4 } /// Standard build configuration options. optimize: std.builtin.OptimizeMode, target: std.Build.ResolvedTarget, +xcframework_target: XCFramework.Target = .universal, wasm_target: WasmTarget, /// Comptime interfaces @@ -109,6 +111,14 @@ pub fn init(b: *std.Build) !Config { .env = env, }; + //--------------------------------------------------------------- + // Target-specific properties + config.xcframework_target = b.option( + XCFramework.Target, + "xcframework-target", + "The target for the xcframework.", + ) orelse .universal; + //--------------------------------------------------------------- // Comptime Interfaces config.font_backend = b.option(