commit
e5d1a3ffd8
8 changed files with 103 additions and 0 deletions
@ -0,0 +1,11 @@ |
|||||||
|
root = true |
||||||
|
|
||||||
|
[*] |
||||||
|
charset = utf-8 |
||||||
|
end_of_line = lf |
||||||
|
|
||||||
|
indent_style = space |
||||||
|
indent_size = 4 |
||||||
|
|
||||||
|
trim_trailing_whitespace = true |
||||||
|
insert_final_newline = true |
@ -0,0 +1,2 @@ |
|||||||
|
/zig-cache/ |
||||||
|
/zig-out/ |
@ -0,0 +1,3 @@ |
|||||||
|
[submodule "flecs"] |
||||||
|
path = libs/flecs |
||||||
|
url = https://github.com/SanderMertens/flecs.git |
@ -0,0 +1,19 @@ |
|||||||
|
This is free and unencumbered software released into the public domain. |
||||||
|
|
||||||
|
Anyone is free to copy, modify, publish, use, compile, sell, or distribute |
||||||
|
this software, either in source code form or as a compiled binary, for any |
||||||
|
purpose, commercial or non-commercial, and by any means. |
||||||
|
|
||||||
|
In jurisdictions that recognize copyright laws, the author or authors of this |
||||||
|
software dedicate any and all copyright interest in the software to the public |
||||||
|
domain. We make this dedication for the benefit of the public at large and to |
||||||
|
the detriment of our heirs and successors. We intend this dedication to be an |
||||||
|
overt act of relinquishment in perpetuity of all present and future rights to |
||||||
|
this software under copyright law. |
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||||
|
AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
||||||
|
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
@ -0,0 +1,63 @@ |
|||||||
|
const std = @import("std"); |
||||||
|
|
||||||
|
pub fn build(b: *std.Build) !void { |
||||||
|
const target = b.standardTargetOptions(.{}); |
||||||
|
const optimize = b.standardOptimizeOption(.{}); |
||||||
|
|
||||||
|
const module = b.createModule(.{ |
||||||
|
.source_file = .{ .path = "src/main.zig" }, |
||||||
|
}); |
||||||
|
|
||||||
|
try b.modules.put(b.dupe("flecs-zig-ble"), module); |
||||||
|
|
||||||
|
const lib = b.addStaticLibrary(.{ |
||||||
|
.name = "flecs-zig-ble", |
||||||
|
.root_source_file = .{ .path = "src/main.zig" }, |
||||||
|
.target = target, |
||||||
|
.optimize = optimize, |
||||||
|
}); |
||||||
|
|
||||||
|
lib.linkLibC(); |
||||||
|
lib.addIncludePath(.{ .path = thisDir() ++ "/flecs" }); |
||||||
|
lib.addCSourceFile(.{ |
||||||
|
.file = .{ .path = thisDir() ++ "/flecs/flecs.c" }, |
||||||
|
.flags = &.{"-fno-sanitize=undefined"}, |
||||||
|
}); |
||||||
|
lib.defineCMacro("FLECS_NO_CPP", null); |
||||||
|
lib.defineCMacro("FLECS_USE_OS_ALLOC", null); |
||||||
|
if (@import("builtin").mode == .Debug) |
||||||
|
lib.defineCMacro("FLECS_SANITIZE", null); |
||||||
|
|
||||||
|
if (lib.target.isWindows()) |
||||||
|
lib.linkSystemLibraryName("ws2_32"); |
||||||
|
|
||||||
|
b.installArtifact(lib); |
||||||
|
|
||||||
|
const main_tests = b.addTest(.{ |
||||||
|
.root_source_file = .{ .path = "src/main.zig" }, |
||||||
|
.target = target, |
||||||
|
.optimize = optimize, |
||||||
|
}); |
||||||
|
|
||||||
|
main_tests.linkLibC(); |
||||||
|
main_tests.addIncludePath(.{ .path = thisDir() ++ "/flecs" }); |
||||||
|
main_tests.addCSourceFile(.{ |
||||||
|
.file = .{ .path = thisDir() ++ "/flecs/flecs.c" }, |
||||||
|
.flags = &.{"-fno-sanitize=undefined"}, |
||||||
|
}); |
||||||
|
main_tests.defineCMacro("FLECS_NO_CPP", null); |
||||||
|
main_tests.defineCMacro("FLECS_USE_OS_ALLOC", null); |
||||||
|
main_tests.defineCMacro("FLECS_SANITIZE", null); |
||||||
|
|
||||||
|
if (main_tests.target.isWindows()) |
||||||
|
main_tests.linkSystemLibraryName("ws2_32"); |
||||||
|
|
||||||
|
const run_main_tests = b.addRunArtifact(main_tests); |
||||||
|
|
||||||
|
const test_step = b.step("test", "Run library tests"); |
||||||
|
test_step.dependOn(&run_main_tests.step); |
||||||
|
} |
||||||
|
|
||||||
|
inline fn thisDir() []const u8 { |
||||||
|
return comptime std.fs.path.dirname(@src().file) orelse "."; |
||||||
|
} |
@ -0,0 +1,4 @@ |
|||||||
|
.{ |
||||||
|
.name = "flecs-zig-ble", |
||||||
|
.version = "0.1.0", |
||||||
|
} |
@ -0,0 +1 @@ |
|||||||
|
Subproject commit 74a7f74a2835d3946f05502ef44ba1d5d8b48eff |
Loading…
Reference in new issue