const std = @import("std"); pub fn build(b: *std.Build) void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); // Load zap dependency. const zap = b.dependency("zap", .{ .target = target, .optimize = optimize, .openssl = false, }); const lib_mod = b.addModule("zouter", .{ .root_source_file = b.path("src/root.zig"), .target = target, .optimize = optimize, }); // Add zap dependency. lib_mod.addImport("zap", zap.module("zap")); // Add unit tests. const lib_unit_tests = b.addTest(.{ .root_source_file = b.path("tests/root.zig"), .target = target, .optimize = optimize, }); lib_unit_tests.root_module.addImport("zap", zap.module("zap")); lib_unit_tests.root_module.addImport("zouter", lib_mod); const run_lib_unit_tests = b.addRunArtifact(lib_unit_tests); const test_step = b.step("test", "Run unit tests."); test_step.dependOn(&run_lib_unit_tests.step); // Documentation generation. const install_docs = b.addInstallDirectory(.{ .source_dir = lib_unit_tests.getEmittedDocs(), .install_dir = .prefix, .install_subdir = "docs", }); // Documentation generation step. const docs_step = b.step("docs", "Emit documentation."); docs_step.dependOn(&install_docs.step); }