diff --git a/build.zig b/build.zig index 7509c2e..fc1d841 100644 --- a/build.zig +++ b/build.zig @@ -4,39 +4,36 @@ pub fn build(b: *std.Build) !void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); - _ = b.addModule("flecs-zig-ble", .{ + const module = b.addModule("flecs-zig-ble", .{ .root_source_file = .{ .path = "src/main.zig" }, }); + module.addIncludePath(.{ .path = "libs/flecs" }); const lib = b.addStaticLibrary(.{ .name = "flecs-zig-ble", - .root_source_file = .{ .path = "src/main.zig" }, .target = target, .optimize = optimize, }); - setupFlecs(lib); - lib.installHeader("libs/flecs/flecs.h", "flecs.h"); + + lib.linkLibC(); + lib.addCSourceFile(.{ + .file = .{ .path = "libs/flecs/flecs.c" }, + .flags = &.{"-fno-sanitize=undefined"}, + }); b.installArtifact(lib); + if (lib.rootModuleTarget().os.tag == .windows) { + lib.linkSystemLibrary("ws2_32"); + } + const main_tests = b.addTest(.{ .root_source_file = .{ .path = "src/main.zig" }, .target = target, .optimize = optimize, }); - setupFlecs(main_tests); + main_tests.linkLibrary(lib); + main_tests.addIncludePath(.{ .path = "libs/flecs" }); const run_main_tests = b.addRunArtifact(main_tests); const test_step = b.step("test", "Run library tests"); test_step.dependOn(&run_main_tests.step); } - -fn setupFlecs(step: *std.Build.Step.Compile) void { - step.linkLibC(); - step.addIncludePath(.{ .path = "libs/flecs" }); - step.addCSourceFile(.{ - .file = .{ .path = "libs/flecs/flecs.c" }, - .flags = &.{"-fno-sanitize=undefined"}, - }); - if (step.rootModuleTarget().os.tag == .windows) { - step.linkSystemLibrary("ws2_32"); - } -}