╭─────────────╮ │scroll to top│ ╰─────────────╯ ╭ build.zig ────────────────────────────────────────────────────╮ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╰───────────────────────────────────────────────────────────────╯
╭────╮ ╭ clone ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╮ │http│ ssh │ │ ╰────╯ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╯
36 b.getInstallStep().dependOn(&install_exe.step); 37 38 const wasm_step = b.step("wasm", "Generate the wasm"); 39 wasm_step.dependOn(&install_exe.step); 40 41 break :blk install_exe; 42 }; 43 44 const target = b.standardTargetOptions(.{}); 45 const optimize = b.standardOptimizeOption(.{}); 46 47 // main 48 const install_main_exe = blk: { 49 const exe = b.addExecutable(.{ 50 .name = "haxy", 51 .root_module = b.createModule(.{ 52 .root_source_file = b.path("src/main.zig"), 53 .target = target, 54 .optimize = optimize, 55 }), 56 }); 57 exe.root_module.addImport("xit", xit_dep.module("xit")); 58 exe.step.dependOn(&install_wasm_exe.step); 59 60 const install_exe = b.addInstallArtifact(exe, .{}); 61 b.getInstallStep().dependOn(&install_exe.step); 62 63 const run_cmd = b.addRunArtifact(exe); 64 65 run_cmd.step.dependOn(b.getInstallStep()); 66 67 if (b.args) |args| { 68 run_cmd.addArgs(args); 69 } 70 71 const run_step = b.step("run", "Run the app"); 72 run_step.dependOn(&run_cmd.step); 73 74 break :blk install_exe; 75 }; 76 77 // module for using haxy as a library 78 // (the commands below consume haxy this way) 79 const haxy = b.addModule("haxy", .{ 80 .root_source_file = b.path("src/lib.zig"), 81 }); 82 haxy.addImport("xit", xit_dep.module("xit")); 83 84 // try 85 { 86 const exe = b.addExecutable(.{ 87 .name = "try", 88 .root_module = b.createModule(.{ 89 .root_source_file = b.path("src/try.zig"), 90 .target = target, 91 .optimize = optimize, 92 }), 93 }); 94 exe.root_module.addImport("haxy", haxy); 95 b.installArtifact(exe); 96 97 const run_cmd = b.addRunArtifact(exe); 98 run_cmd.step.dependOn(b.getInstallStep()); 99 if (b.args) |args| { 100 run_cmd.addArgs(args); 101 } 102 103 const run_step = b.step("try", "Try the app"); 104 run_step.dependOn(&run_cmd.step); 105 } 106 107 // test 108 { 109 const unit_tests = b.addTest(.{ 110 .root_module = b.createModule(.{ 111 .root_source_file = b.path("src/test.zig"), 112 .target = target, 113 .optimize = optimize, 114 }), 115 }); 116 unit_tests.root_module.addImport("haxy", haxy); 117 118 const run_unit_tests = b.addRunArtifact(unit_tests); 119 run_unit_tests.has_side_effects = true; 120 const test_step = b.step("test", "Run unit tests"); 121 test_step.dependOn(&install_main_exe.step); 122 test_step.dependOn(&run_unit_tests.step); 123 } 124 125 // testnet 126 { 127 const unit_tests = b.addTest(.{ 128 .root_module = b.createModule(.{ 129 .root_source_file = b.path("src/testnet.zig"), 130 .target = target, 131 .optimize = optimize, 132 }), 133 }); 134 unit_tests.root_module.addImport("haxy", haxy); 135 136 const run_unit_tests = b.addRunArtifact(unit_tests); 137 run_unit_tests.has_side_effects = true; 138 const test_step = b.step("testnet", "Run network unit tests"); 139 test_step.dependOn(&install_main_exe.step); 140 test_step.dependOn(&run_unit_tests.step); 141 } 142 } 143