NOCLIP/build.zig
torque 18379cf86c
build.zig: trip over the finish line for becoming a module
It's pretty easy. This is the first step to spinning zed off as a
separate project, which has been the plan for a while now.
2023-06-01 22:35:12 -07:00

38 lines
1.1 KiB
Zig

const std = @import("std");
pub fn build(b: *std.Build) void {
const target: std.Build.CrossTarget = b.standardTargetOptions(.{});
const optimize: std.builtin.Mode = b.standardOptimizeOption(.{});
const noclip = b.addModule("noclip", .{
.source_file = .{ .path = "source/noclip.zig" }
});
demo(b, noclip, target, optimize);
const test_step = b.step("test", "Run unit tests");
const tests = b.addTest(.{
.name = "tests",
.root_source_file = .{ .path = "source/noclip.zig" },
.target = target,
.optimize = optimize,
});
test_step.dependOn(&tests.step);
}
fn demo(b: *std.Build, noclip: *std.Build.Module, target: std.Build.CrossTarget, optimize: std.builtin.Mode) void {
const demo_step = b.step("demo", "Build and install CLI demo program");
const exe = b.addExecutable(.{
.name = "noclip-demo",
.root_source_file = .{ .path = "demo/demo.zig" },
.target = target,
.optimize = optimize,
});
exe.addModule("noclip", noclip);
const install_demo = b.addInstallArtifact(exe);
demo_step.dependOn(&install_demo.step);
}