You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
const std = @import("std"); |
|
|
|
pub fn build(b: *std.Build) !void { |
|
const target = b.standardTargetOptions(.{}); |
|
const optimize = b.standardOptimizeOption(.{}); |
|
|
|
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", |
|
.target = target, |
|
.optimize = optimize, |
|
}); |
|
|
|
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, |
|
}); |
|
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); |
|
}
|
|
|