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.
42 lines
1.3 KiB
42 lines
1.3 KiB
const std = @import("std"); |
|
|
|
pub fn build(b: *std.Build) !void { |
|
const target = b.standardTargetOptions(.{}); |
|
const optimize = b.standardOptimizeOption(.{}); |
|
|
|
_ = b.addModule("flecs-zig-ble", .{ |
|
.root_source_file = .{ .path = "src/main.zig" }, |
|
}); |
|
|
|
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"); |
|
b.installArtifact(lib); |
|
|
|
const main_tests = b.addTest(.{ |
|
.root_source_file = .{ .path = "src/main.zig" }, |
|
.target = target, |
|
.optimize = optimize, |
|
}); |
|
setupFlecs(main_tests); |
|
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"); |
|
} |
|
}
|
|
|