Immediate mode renderer for libvaxis
at main 1.6 kB view raw
1const std = @import("std"); 2 3pub fn build(b: *std.Build) void { 4 const target = b.standardTargetOptions(.{}); 5 const optimize = b.standardOptimizeOption(.{}); 6 7 // Library and executable. 8 9 const mod = b.addModule("vxim", .{ 10 .root_source_file = b.path("src/root.zig"), 11 .target = target, 12 }); 13 14 const exe = b.addExecutable(.{ 15 .name = "demo", 16 .root_module = b.createModule(.{ 17 .root_source_file = b.path("src/demo.zig"), 18 .target = target, 19 .optimize = optimize, 20 .imports = &.{ 21 .{ .name = "vxim", .module = mod }, 22 }, 23 }), 24 }); 25 26 b.installArtifact(exe); 27 28 // Dependencies. 29 30 const vaxis = b.dependency("vaxis", .{ 31 .target = target, 32 .optimize = optimize, 33 }); 34 35 exe.root_module.addImport("vaxis", vaxis.module("vaxis")); 36 mod.addImport("vaxis", vaxis.module("vaxis")); 37 38 // Run step. 39 40 const run_step = b.step("run", "Run the app"); 41 const run_cmd = b.addRunArtifact(exe); 42 43 run_step.dependOn(&run_cmd.step); 44 run_cmd.step.dependOn(b.getInstallStep()); 45 46 if (b.args) |args| { 47 run_cmd.addArgs(args); 48 } 49 50 // Tests. 51 52 const mod_tests = b.addTest(.{ 53 .root_module = mod, 54 }); 55 const run_mod_tests = b.addRunArtifact(mod_tests); 56 57 const exe_tests = b.addTest(.{ 58 .root_module = exe.root_module, 59 }); 60 const run_exe_tests = b.addRunArtifact(exe_tests); 61 62 const test_step = b.step("test", "Run tests"); 63 test_step.dependOn(&run_mod_tests.step); 64 test_step.dependOn(&run_exe_tests.step); 65}