e76ce2c1d0
New CLI parameter: --c-source [options] [file] It even works with `--cache on` when there are transitive dependencies. Instead of `builder.addCExecutable`, use `builder.addExecutable` and pass `null` for the root source file. Then use `builder.addCSourceFile`, which takes the path to the C code, and a list of C compiler args. Be sure to linkSystemLibrary("c") if you want libc headers to be available. Merge TestStep into LibExeObjStep. That was long overdue.
19 lines
595 B
Zig
19 lines
595 B
Zig
const Builder = @import("std").build.Builder;
|
|
|
|
pub fn build(b: *Builder) void {
|
|
const lib = b.addSharedLibrary("mathtest", "mathtest.zig", b.version(1, 0, 0));
|
|
|
|
const exe = b.addExecutable("test", null);
|
|
exe.addCSourceFile("test.c", [][]const u8{"-std=c99"});
|
|
exe.linkLibrary(lib);
|
|
exe.linkSystemLibrary("c");
|
|
|
|
b.default_step.dependOn(&exe.step);
|
|
|
|
const run_cmd = b.addCommand(".", b.env_map, [][]const u8{exe.getOutputPath()});
|
|
run_cmd.step.dependOn(&exe.step);
|
|
|
|
const test_step = b.step("test", "Test the program");
|
|
test_step.dependOn(&run_cmd.step);
|
|
}
|