aboutsummaryrefslogtreecommitdiffhomepage
path: root/build.zig
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2022-11-27 10:46:57 +0900
committernsfisis <nsfisis@gmail.com>2022-11-27 10:46:57 +0900
commit4d078dd00a5d9d5557e96c6cf07a86b006aad080 (patch)
treef932a82ae89fb229fbc5ebd11cd3f481e4bc1b67 /build.zig
downloadRayTracingInOneWeekend.zig-4d078dd00a5d9d5557e96c6cf07a86b006aad080.tar.gz
RayTracingInOneWeekend.zig-4d078dd00a5d9d5557e96c6cf07a86b006aad080.tar.zst
RayTracingInOneWeekend.zig-4d078dd00a5d9d5557e96c6cf07a86b006aad080.zip
first commit
Diffstat (limited to 'build.zig')
-rw-r--r--build.zig34
1 files changed, 34 insertions, 0 deletions
diff --git a/build.zig b/build.zig
new file mode 100644
index 0000000..d566eb2
--- /dev/null
+++ b/build.zig
@@ -0,0 +1,34 @@
+const std = @import("std");
+
+pub fn build(b: *std.build.Builder) void {
+ // Standard target options allows the person running `zig build` to choose
+ // what target to build for. Here we do not override the defaults, which
+ // means any target is allowed, and the default is native. Other options
+ // for restricting supported target set are available.
+ const target = b.standardTargetOptions(.{});
+
+ // Standard release options allow the person running `zig build` to select
+ // between Debug, ReleaseSafe, ReleaseFast, and ReleaseSmall.
+ const mode = b.standardReleaseOptions();
+
+ const exe = b.addExecutable("RayTracingInOneWeekend", "src/main.zig");
+ exe.setTarget(target);
+ exe.setBuildMode(mode);
+ exe.install();
+
+ const run_cmd = exe.run();
+ run_cmd.step.dependOn(b.getInstallStep());
+ if (b.args) |args| {
+ run_cmd.addArgs(args);
+ }
+
+ const run_step = b.step("run", "Run the app");
+ run_step.dependOn(&run_cmd.step);
+
+ const exe_tests = b.addTest("src/main.zig");
+ exe_tests.setTarget(target);
+ exe_tests.setBuildMode(mode);
+
+ const test_step = b.step("test", "Run unit tests");
+ test_step.dependOn(&exe_tests.step);
+}