const std = @import("std"); const jetzig = @import("jetzig"); pub fn build(b: *std.Build) !void { const target = b.standardTargetOptions(.{}); const optimize = .ReleaseSafe; const exe = b.addExecutable(.{ .name = "yuzucchiidotxyz", .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize }); const options = b.addOptions(); options.addOption([]const u8, "BLOGS_PASSWORD", std.posix.getenv("BLOGS_PASSWORD") orelse "admin"); options.addOption([]const u8, "DOMAIN", std.posix.getenv("DOMAIN") orelse "localhost"); exe.root_module.addOptions("dev", options); // Example Dependency // ------------------- // const iguanas_dep = b.dependency("iguanas", .{ .optimize = optimize, .target = target }); // exe.root_module.addImport("iguanas", iguanas_dep.module("iguanas")); // const uuid = b.dependency("uuid", .{ .optimize = optimize, .target = target }); exe.root_module.addImport("uuid", uuid.module("uuid")); // ^ Add all dependencies before `jetzig.jetzigInit()` ^ try jetzig.jetzigInit(b, exe, .{ .zmpl_version = .v2 }); b.installArtifact(exe); const run_cmd = b.addRunArtifact(exe); run_cmd.step.dependOn(b.getInstallStep()); if (b.args) |args| run_cmd.addArgs(args); const run_step = b.step("run", "Run the app"); run_step.dependOn(&run_cmd.step); const lib_unit_tests = b.addTest(.{ .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, }); const run_lib_unit_tests = b.addRunArtifact(lib_unit_tests); const exe_unit_tests = b.addTest(.{ .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, }); const run_exe_unit_tests = b.addRunArtifact(exe_unit_tests); const test_step = b.step("test", "Run unit tests"); test_step.dependOn(&run_lib_unit_tests.step); test_step.dependOn(&run_exe_unit_tests.step); }