diff options
Diffstat (limited to 'build.zig')
-rw-r--r-- | build.zig | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/build.zig b/build.zig index 7b087a2..67f6993 100644 --- a/build.zig +++ b/build.zig @@ -1,5 +1,5 @@ // Build recipe -// Copyright (C) 2021-2022 Nguyễn Gia Phong +// Copyright (C) 2021-2023 Nguyễn Gia Phong // // This file is part of zeal. // @@ -17,16 +17,22 @@ // along with zeal. If not, see <https://www.gnu.org/licenses/>. const std = @import("std"); -const Builder = std.build.Builder; +const Build = std.Build; +const CrossTarget = std.zig.CrossTarget; const LibExeObjStep = std.build.LibExeObjStep; -const Mode = std.builtin.Mode; +const OptimizeMode = std.builtin.OptimizeMode; fn addExampleStep(comptime name: []const u8, description: []const u8, - b: *Builder, lib: *LibExeObjStep, mode: Mode) void { - const bin = b.addExecutable(name, "examples/" ++ name ++ ".zig"); + b: *Build, lib: *LibExeObjStep, + target: CrossTarget, optimize: OptimizeMode) void { + const bin = b.addExecutable(.{ + .name = name, + .root_source_file = .{ .path = "examples/" ++ name ++ ".zig" }, + .target = target, + .optimize = optimize, + }); bin.addPackagePath("zeal", "src/zeal.zig"); bin.linkLibrary(lib); - bin.setBuildMode(mode); const cmd = bin.run(); cmd.step.dependOn(b.getInstallStep()); @@ -42,21 +48,25 @@ pub fn link(lib_exe_obj: *LibExeObjStep) void { lib_exe_obj.linkSystemLibrary("c"); } -pub fn build(b: *Builder) void { - // Standard release options allow the person running `zig build` to select - // between Debug, ReleaseSafe, ReleaseFast, and ReleaseSmall. - const mode = b.standardReleaseOptions(); - - const lib = b.addStaticLibrary("zeal", "src/zeal.zig"); +pub fn build(b: *Build) void { + const target = b.standardTargetOptions(.{}); + const optimize = b.standardOptimizeOption(.{}); + const lib = b.addStaticLibrary(.{ + .name = "zeal", + .root_source_file = .{ .path = "src/zeal.zig" }, + .target = target, + .optimize = optimize, + }); link(lib); - lib.setBuildMode(mode); - lib.install(); - var main_tests = b.addTest("src/zeal.zig"); + var main_tests = b.addTest(.{ + .root_source_file = .{ .path = "src/zeal.zig" }, + .target = target, + .optimize = optimize, + }); main_tests.linkLibrary(lib); - main_tests.setBuildMode(mode); b.step("test", "Run library tests").dependOn(&main_tests.step); - addExampleStep("play", "Play audio", b, lib, mode); - addExampleStep("hrtf", "Play audio with HRTF", b, lib, mode); + //addExampleStep("play", "Play audio", b, lib, target, optimize); + //addExampleStep("hrtf", "Play audio with HRTF", b, lib, target, optimize); } |