master
 1const std = @import("std");
 2
 3pub fn build(b: *std.Build) void {
 4    const test_step = b.step("test", "Test it");
 5    b.default_step = test_step;
 6
 7    const optimize: std.builtin.OptimizeMode = .Debug;
 8
 9    {
10        const write_files = b.addWriteFiles();
11        const generated_main_c = write_files.add("main.c", "");
12        const exe = b.addExecutable(.{
13            .name = "test",
14            .root_module = b.createModule(.{
15                .root_source_file = null,
16                .target = b.graph.host,
17                .optimize = optimize,
18            }),
19        });
20        exe.root_module.addCSourceFiles(.{
21            .root = generated_main_c.dirname(),
22            .files = &.{"main.c"},
23        });
24        b.step("csourcefiles", "").dependOn(&exe.step);
25        test_step.dependOn(&exe.step);
26    }
27    {
28        const write_files = b.addWriteFiles();
29        const dir = write_files.addCopyDirectory(b.path("inc"), "", .{});
30        const exe = b.addExecutable(.{
31            .name = "test",
32            .root_module = b.createModule(.{
33                .root_source_file = b.path("inctest.zig"),
34                .target = b.graph.host,
35                .optimize = optimize,
36            }),
37        });
38        exe.root_module.addIncludePath(dir);
39        b.step("copydir", "").dependOn(&exe.step);
40        test_step.dependOn(&exe.step);
41    }
42}