roc/build_test_sizes.zig
2025-10-11 11:32:12 -04:00

40 lines
1.6 KiB
Zig

const std = @import("std");
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
const exe = b.addExecutable(.{
.name = "test_struct_sizes",
.root_source_file = b.path("test_struct_sizes.zig"),
.target = target,
.optimize = optimize,
});
// Add dependencies
const base_mod = b.createModule(.{ .root_source_file = b.path("src/base/base.zig") });
const can_mod = b.createModule(.{ .root_source_file = b.path("src/canonicalize/can.zig") });
const types_mod = b.createModule(.{ .root_source_file = b.path("src/types/types.zig") });
const collections_mod = b.createModule(.{ .root_source_file = b.path("src/collections/collections.zig") });
const serialization_mod = b.createModule(.{ .root_source_file = b.path("src/serialization/serialization.zig") });
base_mod.addImport("collections", collections_mod);
base_mod.addImport("serialization", serialization_mod);
can_mod.addImport("base", base_mod);
can_mod.addImport("types", types_mod);
can_mod.addImport("collections", collections_mod);
types_mod.addImport("base", base_mod);
types_mod.addImport("collections", collections_mod);
exe.root_module.addImport("base", base_mod);
exe.root_module.addImport("can", can_mod);
exe.root_module.addImport("types", types_mod);
b.installArtifact(exe);
const run_cmd = b.addRunArtifact(exe);
const run_step = b.step("run-test-sizes", "Run struct size test");
run_step.dependOn(&run_cmd.step);
}