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 <bratishkaerik@landless-city.net>
This commit is contained in:
Eric Joldasov 2025-03-06 01:10:55 +05:00
parent 2b4c1ca03e
commit c9f3d39d3e
No known key found for this signature in database
GPG key ID: 5C9C69060686B588

View file

@ -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 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 strip = b.option(bool, "strip", "Strip debugging info (by default false)") orelse false;
const exe = b.addExecutable(.{ const main_mod = b.createModule(.{
.name = "ncdu",
.root_source_file = b.path("src/main.zig"), .root_source_file = b.path("src/main.zig"),
.target = target, .target = target,
.optimize = optimize, .optimize = optimize,
.strip = strip, .strip = strip,
.link_libc = true, .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.pie = pie;
exe.root_module.linkSystemLibrary("ncursesw", .{});
exe.root_module.linkSystemLibrary("libzstd", .{});
// https://github.com/ziglang/zig/blob/faccd79ca5debbe22fe168193b8de54393257604/build.zig#L745-L748 // https://github.com/ziglang/zig/blob/faccd79ca5debbe22fe168193b8de54393257604/build.zig#L745-L748
if (target.result.os.tag.isDarwin()) { if (target.result.os.tag.isDarwin()) {
// useful for package maintainers // useful for package maintainers
@ -39,14 +42,9 @@ pub fn build(b: *std.Build) void {
run_step.dependOn(&run_cmd.step); run_step.dependOn(&run_cmd.step);
const unit_tests = b.addTest(.{ const unit_tests = b.addTest(.{
.root_source_file = b.path("src/main.zig"), .root_module = main_mod,
.target = target,
.optimize = optimize,
.link_libc = true,
}); });
unit_tests.pie = pie; unit_tests.pie = pie;
unit_tests.root_module.linkSystemLibrary("ncursesw", .{});
unit_tests.root_module.linkSystemLibrary("libzstd", .{});
const run_unit_tests = b.addRunArtifact(unit_tests); const run_unit_tests = b.addRunArtifact(unit_tests);