diff --git a/build.zig b/build.zig index e2a0e843..76ed5412 100644 --- a/build.zig +++ b/build.zig @@ -29,6 +29,10 @@ pub fn module(b: *std.Build, optimize: std.builtin.OptimizeMode, target: std.zig .target = target, .optimize = optimize, }); + const mach_freetype = b.dependency("mach_freetype", .{ + .target = target, + .optimize = optimize, + }); _module = b.createModule(.{ .source_file = .{ .path = sdkPath("/src/main.zig") }, @@ -38,6 +42,8 @@ pub fn module(b: *std.Build, optimize: std.builtin.OptimizeMode, target: std.zig .{ .name = "earcut", .module = mach_earcut.module("mach-earcut") }, .{ .name = "sysaudio", .module = sysaudio.module(mach_sysaudio.builder, optimize, target) }, .{ .name = "basisu", .module = mach_basisu.module("mach-basisu") }, + .{ .name = "mach-freetype", .module = mach_freetype.module("mach-freetype") }, + .{ .name = "mach-harfbuzz", .module = mach_freetype.module("mach-harfbuzz") }, }, }); return _module.?; @@ -144,6 +150,13 @@ pub const App = struct { .optimize = app.compile.optimize, }).artifact("mach-basisu")); } + + const mach_freetype_dep = app.b.dependency("mach_freetype", .{ + .target = app.compile.target, + .optimize = app.compile.optimize, + }); + @import("mach_freetype").linkFreetype(mach_freetype_dep.builder, app.compile); + @import("mach_freetype").linkHarfbuzz(mach_freetype_dep.builder, app.compile); } }; diff --git a/build.zig.zon b/build.zig.zon index 0182bea2..f37c976a 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -22,5 +22,9 @@ .url = "https://pkg.machengine.org/mach-sysaudio/a9bf13c14e05648e00745f5782883f4111eaeed4.tar.gz", .hash = "12206935288305365fe8bc46e0e30191f1119fca96632a5f93ca95ceb978b13bdb33", }, + .mach_freetype = .{ + .url = "https://pkg.machengine.org/mach-freetype/92773615e2480c0a6f561748f2ba1180376bbb68.tar.gz", + .hash = "12205a6057fe43a4940c6db304449ebf3e98ff15d0eec05b75f621d7616c2e7d7f2c", + }, }, }