summaryrefslogtreecommitdiff
path: root/vere/ext/tracy
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-10-05 21:56:51 +0700
committerpolwex <polwex@sortug.com>2025-10-05 21:56:51 +0700
commitfcedfddf00b3f994e4f4e40332ac7fc192c63244 (patch)
tree51d38e62c7bdfcc5f9a5e9435fe820c93cfc9a3d /vere/ext/tracy
claude is gud
Diffstat (limited to 'vere/ext/tracy')
-rw-r--r--vere/ext/tracy/build.zig52
-rw-r--r--vere/ext/tracy/build.zig.zon13
2 files changed, 65 insertions, 0 deletions
diff --git a/vere/ext/tracy/build.zig b/vere/ext/tracy/build.zig
new file mode 100644
index 0000000..c672126
--- /dev/null
+++ b/vere/ext/tracy/build.zig
@@ -0,0 +1,52 @@
+const std = @import("std");
+
+pub fn build(b: *std.Build) void {
+ const target = b.standardTargetOptions(.{});
+ const optimize = b.standardOptimizeOption(.{});
+
+ const tracy_src = b.dependency("tracy", .{
+ .target = target,
+ .optimize = optimize,
+ });
+
+ const tracy = b.addStaticLibrary(.{
+ .name = "tracy",
+ .target = target,
+ .optimize = optimize,
+ });
+
+ tracy.linkLibC();
+ tracy.linkLibCpp();
+
+ // Add Tracy include path
+ tracy.addIncludePath(tracy_src.path("public"));
+
+ // Add Tracy C++ client source
+ tracy.addCSourceFiles(.{
+ .root = tracy_src.path("public"),
+ .files = &.{"TracyClient.cpp"},
+ .flags = &.{
+ "-DTRACY_ENABLE",
+ "-fno-sanitize=undefined",
+ "-D_WIN32_WINNT=0x601", // Windows compatibility
+ "-std=c++11",
+ },
+ });
+
+ // Platform-specific libraries
+ const t = target.result;
+ if (t.os.tag == .linux) {
+ tracy.linkSystemLibrary("pthread");
+ tracy.linkSystemLibrary("dl");
+ } else if (t.os.tag.isDarwin()) {
+ // macOS might need additional frameworks
+ } else if (t.os.tag == .windows) {
+ tracy.linkSystemLibrary("ws2_32");
+ tracy.linkSystemLibrary("dbghelp");
+ }
+
+ // Install Tracy headers for C API - install the entire public directory structure
+ tracy.installHeadersDirectory(tracy_src.path("public"), "", .{});
+
+ b.installArtifact(tracy);
+} \ No newline at end of file
diff --git a/vere/ext/tracy/build.zig.zon b/vere/ext/tracy/build.zig.zon
new file mode 100644
index 0000000..c3f2b6e
--- /dev/null
+++ b/vere/ext/tracy/build.zig.zon
@@ -0,0 +1,13 @@
+.{
+ .name = "tracy",
+ .version = "0.0.1",
+ .dependencies = .{
+ .tracy = .{
+ .url = "https://github.com/wolfpld/tracy/archive/v0.12.2.tar.gz",
+ .hash = "N-V-__8AANptPwE8EYOS5w6KRzVyfllpOBthYRcuuQvYhhxb",
+ },
+ },
+ .paths = .{
+ "",
+ },
+}