Zig Jetstream Client
1const std = @import("std");
2
3pub fn build(b: *std.Build) void {
4 const target = b.standardTargetOptions(.{});
5 const optimize = b.standardOptimizeOption(.{});
6
7 const mod = b.addModule("zigstream", .{
8 .root_source_file = b.path("src/root.zig"),
9 .target = target,
10 });
11
12 const exe = b.addExecutable(.{
13 .name = "zigstream",
14 .root_module = b.createModule(.{
15 .root_source_file = b.path("src/main.zig"),
16 .target = target,
17 .optimize = optimize,
18 .imports = &.{
19 .{ .name = "zigstream", .module = mod },
20 },
21 }),
22 });
23
24 b.installArtifact(exe);
25
26 const run_step = b.step("run", "Run the app");
27
28 const run_cmd = b.addRunArtifact(exe);
29 run_step.dependOn(&run_cmd.step);
30
31 run_cmd.step.dependOn(b.getInstallStep());
32
33 run_cmd.addPassthruArgs();
34
35 const mod_tests = b.addTest(.{
36 .root_module = mod,
37 });
38
39 const run_mod_tests = b.addRunArtifact(mod_tests);
40
41 const exe_tests = b.addTest(.{
42 .root_module = exe.root_module,
43 });
44
45 const run_exe_tests = b.addRunArtifact(exe_tests);
46
47 const test_step = b.step("test", "Run tests");
48 test_step.dependOn(&run_mod_tests.step);
49 test_step.dependOn(&run_exe_tests.step);
50
51 const zat = b.dependency("zat", .{}).module("zat");
52 exe.root_module.addImport("zat", zat);
53}