const std = @import("std"); pub fn build(b: *std.Build) void { // --- TARGET --- const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); // --- MOD --- const mod = b.addModule("NYXGFX", .{ .root_source_file = b.path("src/gfx.zig"), .target = target, .optimize = optimize, }); const mod_tests = b.addTest(.{ .root_module = mod, }); const run_mod_tests = b.addRunArtifact(mod_tests); const test_step = b.step("test", "Run tests"); test_step.dependOn(&run_mod_tests.step); // // DEPENDANCIES // const gtl = b.dependency("gtl", .{ .target = target, .optimize = optimize, }); mod.addImport("gtl", gtl.module("gtl")); const math = b.dependency("NYXMath", .{ .target = target, .optimize = optimize, }); mod.addImport("math", math.module("NYXMath")); // // SYSTEM DEPENDENCIES // const sdl = b.addTranslateC(.{ .target = target, .optimize = optimize, .root_source_file = b.path("./src/vendor/sdl3/sdl.h"), }); mod.addImport("sdl", sdl.createModule()); mod.linkSystemLibrary("SDL3", .{}); const vulkan = b.addTranslateC(.{ .target = target, .optimize = optimize, .root_source_file = b.path("./src/vendor/vulkan/vulkan.h"), }); mod.addImport("vulkan", vulkan.createModule()); mod.linkSystemLibrary("vulkan", .{}); }