From c9f3d39d3eb611ae644cb8b33e98b55debdcd3af Mon Sep 17 00:00:00 2001 From: Eric Joldasov Date: Thu, 6 Mar 2025 01:10:55 +0500 Subject: [PATCH] build.zig: update to new API for 0.14.0 Consolidates some options in one single module now, which is helpful when you want to edit linked libraries etc. Useful for making future changes here, or patching by distros (1 place to change instead of 2). Signed-off-by: Eric Joldasov --- build.zig | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/build.zig b/build.zig index f8dd015..7f441c3 100644 --- a/build.zig +++ b/build.zig @@ -10,18 +10,21 @@ pub fn build(b: *std.Build) void { const pie = b.option(bool, "pie", "Build with PIE support (by default false)") orelse false; const strip = b.option(bool, "strip", "Strip debugging info (by default false)") orelse false; - const exe = b.addExecutable(.{ - .name = "ncdu", + const main_mod = b.createModule(.{ .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, .strip = strip, .link_libc = true, }); + main_mod.linkSystemLibrary("ncursesw", .{}); + main_mod.linkSystemLibrary("libzstd", .{}); + const exe = b.addExecutable(.{ + .name = "ncdu", + .root_module = main_mod, + }); exe.pie = pie; - exe.root_module.linkSystemLibrary("ncursesw", .{}); - exe.root_module.linkSystemLibrary("libzstd", .{}); // https://github.com/ziglang/zig/blob/faccd79ca5debbe22fe168193b8de54393257604/build.zig#L745-L748 if (target.result.os.tag.isDarwin()) { // useful for package maintainers @@ -39,14 +42,9 @@ pub fn build(b: *std.Build) void { run_step.dependOn(&run_cmd.step); const unit_tests = b.addTest(.{ - .root_source_file = b.path("src/main.zig"), - .target = target, - .optimize = optimize, - .link_libc = true, + .root_module = main_mod, }); unit_tests.pie = pie; - unit_tests.root_module.linkSystemLibrary("ncursesw", .{}); - unit_tests.root_module.linkSystemLibrary("libzstd", .{}); const run_unit_tests = b.addRunArtifact(unit_tests);