zouter/build.zig

46 lines
1.1 KiB
Zig
Raw Normal View History

2024-10-10 23:50:28 +02:00
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,
});
2025-04-11 23:37:42 +02:00
const lib_mod = b.createModule(.{
2024-10-11 12:07:03 +02:00
.root_source_file = b.path("src/root.zig"),
.target = target,
.optimize = optimize,
});
// Add zap dependency.
2025-04-11 23:37:42 +02:00
lib_mod.addImport("zap", zap.module("zap"));
2024-10-11 12:07:03 +02:00
2025-04-11 23:37:42 +02:00
// Add unit tests.
2024-10-10 23:50:28 +02:00
const lib_unit_tests = b.addTest(.{
2025-04-11 23:37:42 +02:00
.root_module = lib_mod,
2024-10-10 23:50:28 +02:00
.target = target,
.optimize = optimize,
});
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);
2024-10-11 11:29:27 +02:00
// Documentation generation.
const install_docs = b.addInstallDirectory(.{
2025-04-11 23:37:42 +02:00
.source_dir = lib_unit_tests.getEmittedDocs(),
2024-10-11 11:29:27 +02:00
.install_dir = .prefix,
.install_subdir = "docs",
});
// Documentation generation step.
const docs_step = b.step("docs", "Emit documentation.");
docs_step.dependOn(&install_docs.step);
2024-10-10 23:50:28 +02:00
}