]> gitweb.ps.run Git - ziglmdb/blob - build.zig
idkkkkk
[ziglmdb] / build.zig
1 const std = @import("std");
2
3 pub fn build(b: *std.Build) void {
4     const target = b.standardTargetOptions(.{});
5
6     const optimize = b.standardOptimizeOption(.{});
7
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" },
11         .target = target,
12         .optimize = optimize,
13     });
14
15     mod.addIncludePath(.{ .cwd_relative = "./lmdb/libraries/liblmdb" });
16
17     mod.addCSourceFiles(.{ .files = &.{
18         "./lmdb/libraries/liblmdb/midl.c",
19         "./lmdb/libraries/liblmdb/mdb.c",
20     } });
21
22     const unit_tests = b.addTest(.{
23         .root_source_file = .{ .cwd_relative = "src/lmdb.zig" },
24         .target = target,
25         .optimize = optimize,
26     });
27
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",
32     } });
33     unit_tests.linkLibC();
34
35     const test_bin = b.addInstallBinFile(unit_tests.getEmittedBin(), "./lmdb_test");
36
37     const run_unit_tests = b.addRunArtifact(unit_tests);
38
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);
43 }