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);