summaryrefslogtreecommitdiff
path: root/build.zig
diff options
context:
space:
mode:
authorNic Gaffney <gaffney_nic@protonmail.com>2025-02-18 17:13:13 -0600
committerNic Gaffney <gaffney_nic@protonmail.com>2025-02-18 17:13:13 -0600
commit296564bbced8c3fa197ede9b16af60a4f88e350f (patch)
tree7d3e4c1c4a8b68e2ee4a9d38dddf9b6b982aaadf /build.zig
parent8f2595c71bce8d2f14de334d6e1b6378cc9f7cbf (diff)
parent7db4d88fe0455a6f3bd58414afa0565cd4a74f9d (diff)
downloadcalico-296564bbced8c3fa197ede9b16af60a4f88e350f.tar.gz
Merge branch 'repairBranch'
Restored lost progress from previous `git push --force`
Diffstat (limited to 'build.zig')
-rw-r--r--build.zig56
1 files changed, 23 insertions, 33 deletions
diff --git a/build.zig b/build.zig
index fac011b..4606ade 100644
--- a/build.zig
+++ b/build.zig
@@ -13,7 +13,8 @@ pub fn build(b: *std.Build) !void {
});
const llvm = b.dependency("llvm-zig", .{});
- exe.root_module.addImport("llvm", llvm.module("llvm"));
+ _ = try b.modules.put("llvm", llvm.module("llvm"));
+ exe.root_module.addImport("llvm", b.modules.get("llvm").?);
b.installArtifact(exe);
@@ -28,40 +29,29 @@ pub fn build(b: *std.Build) !void {
const run_step = b.step("run", "Run the compiler");
run_step.dependOn(&run_cmd.step);
- const exe_unit_tests = b.addTest(.{
- .root_source_file = b.path("src/main.zig"),
- .target = target,
- .optimize = optimize,
- });
-
- const token_unit_tests = b.addTest(.{
- .root_source_file = b.path("src/tokenize.zig"),
- .target = target,
- .optimize = optimize,
- });
-
- const parse_unit_tests = b.addTest(.{
- .root_source_file = b.path("src/parser.zig"),
- .target = target,
- .optimize = optimize,
- });
+ const test_step = b.step("test", "Run unit tests");
+ for ([_][]const u8{
+ "src/main.zig",
+ "src/tokenize.zig",
+ "src/parser.zig",
+ "src/codegen.zig",
+ }) |file|
+ unit_test(b, target, optimize, test_step, file);
+}
- const codegen_unit_tests = b.addTest(.{
- .root_source_file = b.path("src/codegen.zig"),
+fn unit_test(
+ b: *std.Build,
+ target: std.Build.ResolvedTarget,
+ optimize: std.builtin.OptimizeMode,
+ test_step: *std.Build.Step,
+ fname: []const u8,
+) void {
+ const unit = b.addTest(.{
+ .root_source_file = b.path(fname),
.target = target,
.optimize = optimize,
});
-
- codegen_unit_tests.root_module.addImport("llvm", llvm.module("llvm"));
-
- const run_exe_unit_tests = b.addRunArtifact(exe_unit_tests);
- const run_token_unit_tests = b.addRunArtifact(token_unit_tests);
- const run_parse_unit_tests = b.addRunArtifact(parse_unit_tests);
- const run_codegen_unit_tests = b.addRunArtifact(codegen_unit_tests);
-
- const test_step = b.step("test", "Run unit tests");
- test_step.dependOn(&run_exe_unit_tests.step);
- test_step.dependOn(&run_token_unit_tests.step);
- test_step.dependOn(&run_parse_unit_tests.step);
- test_step.dependOn(&run_codegen_unit_tests.step);
+ const unit_tests = b.addRunArtifact(unit);
+ test_step.dependOn(&unit_tests.step);
+ unit.root_module.addImport("llvm", b.modules.get("llvm").?);
}