1 const std = @import("std");
3 pub fn build(b: *std.Build) void {
4 const target = b.standardTargetOptions(.{});
6 const optimize = b.standardOptimizeOption(.{});
8 const mod = b.addModule("lmdb", .{
9 .root_source_file = .{ .src_path = .{ .owner = b, .sub_path = "src/lmdb.zig" } },
10 // .root_source_file = .{ .cwd_relative = "src/lmdb.zig" },
15 mod.addIncludePath(.{ .cwd_relative = "./lmdb/libraries/liblmdb" });
17 mod.addCSourceFiles(.{ .files = &.{
18 "./lmdb/libraries/liblmdb/midl.c",
19 "./lmdb/libraries/liblmdb/mdb.c",
22 const unit_tests = b.addTest(.{
23 .root_source_file = .{ .cwd_relative = "src/lmdb.zig" },
28 unit_tests.addIncludePath(.{ .cwd_relative = "./lmdb/libraries/liblmdb" });
29 unit_tests.addCSourceFiles(.{ .files = &.{
30 "./lmdb/libraries/liblmdb/midl.c",
31 "./lmdb/libraries/liblmdb/mdb.c",
33 unit_tests.linkLibC();
35 const test_bin = b.addInstallBinFile(unit_tests.getEmittedBin(), "./lmdb_test");
37 const run_unit_tests = b.addRunArtifact(unit_tests);
39 const test_step = b.step("test", "Run unit tests");
40 test_step.dependOn(&run_unit_tests.step);
41 test_step.dependOn(&unit_tests.step);
42 test_step.dependOn(&test_bin.step);