1 const std = @import("std");
3 pub fn build(b: *std.Build) void {
4 const target = b.standardTargetOptions(.{});
5 const optimize = b.standardOptimizeOption(.{});
7 const lmdb = b.addModule("lmdb", .{
8 .root_source_file = b.path("src/lmdb.zig"),
12 lmdb.addIncludePath(b.path("lmdb"));
13 lmdb.addCSourceFiles(.{ .files = &.{
17 lmdb.link_libc = true;
19 const db = b.addModule("db", .{
20 .root_source_file = b.path("src/db.zig"),
24 db.addImport("lmdb", lmdb);
26 const lmdb_tests = b.addTest(.{
29 lmdb_tests.addIncludePath(b.path("lmdb"));
30 lmdb_tests.addCSourceFiles(.{ .files = &.{
34 lmdb_tests.linkLibC();
36 const db_tests = b.addTest(.{
39 db_tests.root_module.addImport("lmdb", lmdb);
41 const lmdb_test_bin = b.addInstallBinFile(lmdb_tests.getEmittedBin(), "./lmdb_test");
42 const db_test_bin = b.addInstallBinFile(db_tests.getEmittedBin(), "./db_test");
44 const run_lmdb_tests = b.addRunArtifact(lmdb_tests);
45 const run_db_tests = b.addRunArtifact(db_tests);
47 const test_step = b.step("test", "Run unit tests");
48 test_step.result_cached = false;
49 test_step.dependOn(&run_lmdb_tests.step);
50 test_step.dependOn(&lmdb_tests.step);
51 test_step.dependOn(&run_db_tests.step);
52 test_step.dependOn(&db_tests.step);
53 test_step.dependOn(&lmdb_test_bin.step);
54 test_step.dependOn(&db_test_bin.step);
56 const check = b.step("check", "Check if ziglmdb compiles");
57 check.dependOn(&lmdb_tests.step);
58 check.dependOn(&db_tests.step);