From fb922e3d5ceee23258b5c4c36cbcce5a3e3e1b9f Mon Sep 17 00:00:00 2001 From: adrien Date: Wed, 22 Apr 2026 00:00:18 +0200 Subject: [PATCH] Added tracy as dependencie --- build.zig | 43 ++++++++++++++++++++++++++++++++++++++++--- build.zig.zon | 7 ++++++- src/benchmark.zig | 1 + 3 files changed, 47 insertions(+), 4 deletions(-) diff --git a/build.zig b/build.zig index 037b819..7c5fa7f 100644 --- a/build.zig +++ b/build.zig @@ -7,9 +7,7 @@ pub fn build(b: *std.Build) void { // 1. Define the module so other projects can import it _ = b.addModule("dimal", .{ .root_source_file = b.path("src/main.zig"), - }); - - // 2. Keep the test setup + }); // 2. Keep the test setup const exe_tests = b.addTest(.{ .root_module = b.createModule(.{ .root_source_file = b.path("src/main.zig"), @@ -22,4 +20,43 @@ pub fn build(b: *std.Build) void { const run_exe_tests = b.addRunArtifact(exe_tests); const test_step = b.step("test", "Run tests"); test_step.dependOn(&run_exe_tests.step); + + const options = .{ + .enable_ztracy = b.option( + bool, + "enable_ztracy", + "Enable Tracy profile markers", + ) orelse false, + .enable_fibers = b.option( + bool, + "enable_fibers", + "Enable Tracy fiber support", + ) orelse false, + .on_demand = b.option( + bool, + "on_demand", + "Build tracy with TRACY_ON_DEMAND", + ) orelse false, + }; + + const bench_exe = b.addExecutable(.{ + .name = "benchmark", + .root_module = b.createModule(.{ + .root_source_file = b.path("src/benchmark.zig"), + .target = target, + .imports = &.{}, + }), + }); + + const ztracy = b.dependency("ztracy", .{ + .enable_ztracy = options.enable_ztracy, + .enable_fibers = options.enable_fibers, + .on_demand = options.on_demand, + }); + bench_exe.root_module.addImport("ztracy", ztracy.module("root")); + bench_exe.root_module.linkLibrary(ztracy.artifact("tracy")); + + const run_bench = b.addRunArtifact(bench_exe); + const bench_step = b.step("benchmark", "Run the benchmark suite"); + bench_step.dependOn(&run_bench.step); } diff --git a/build.zig.zon b/build.zig.zon index bacce2e..4f15e3a 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -3,7 +3,12 @@ .version = "0.1.0", .fingerprint = 0x9453b1ff1e52d858, .minimum_zig_version = "0.16.0", - .dependencies = .{}, + .dependencies = .{ + .ztracy = .{ + .url = "git+https://github.com/zig-gamedev/ztracy#d95d2a193b9f97944a17026c9a42b5d0f9a88c94", + .hash = "ztracy-0.14.0-dev-zHJSqzUHGQAmhJybhlwtl1QKevUBw4M5YKZqPfWx2y99", + }, + }, .paths = .{ "build.zig", "build.zig.zon", diff --git a/src/benchmark.zig b/src/benchmark.zig index 0056710..7b1cc9f 100644 --- a/src/benchmark.zig +++ b/src/benchmark.zig @@ -1,4 +1,5 @@ const std = @import("std"); +const tracy = @import("ztracy"); const Io = std.Io; const Scalar = @import("Scalar.zig").Scalar; const Vector = @import("Vector.zig").Vector;