const std = @import("std"); pub fn build(b: *std.Build) void { // When built by Kepr Builds, KEPR_TARGET carries the cross-compile triple // so the same command works across all platforms without shell expansion. const target = if (std.c.getenv("KEPR_TARGET")) |t_ptr| b.resolveTargetQuery(std.Target.Query.parse( .{ .arch_os_abi = std.mem.span(t_ptr) }, ) catch std.Target.Query{}) else b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); const exe = b.addExecutable(.{ .name = "nina", .root_module = b.createModule(.{ .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, }), }); b.installArtifact(exe); const run_cmd = b.addRunArtifact(exe); run_cmd.step.dependOn(b.getInstallStep()); if (b.args) |args| run_cmd.addArgs(args); const run_step = b.step("run", "Run nina"); run_step.dependOn(&run_cmd.step); const tests = b.addTest(.{ .root_module = b.createModule(.{ .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, }), }); const test_step = b.step("test", "Run unit tests"); test_step.dependOn(&b.addRunArtifact(tests).step); }