Skip to content

Tracy ported to the zig build system

License

Notifications You must be signed in to change notification settings

allyourcodebase/tracy

 
 

Repository files navigation

CI

Tracy Profiler

This is Tracy, packaged for Zig.

Installation

Install Zig 0.13.0 and then run the following command:

zig build install-profiler
./zig-out/bin/tracy-profiler

You can also directly run the Tracy Profiler with the "run" step:

zig build run

System Dependencies

Most systems will already have the necessary dependencies installed by default.

Client

  • ws2_32 (windows)
  • dbghelp (windows)
  • advapi32 (windows)
  • user32 (windows)
  • execinfo (freeBSD)

Profiler & Other Tools

  • ws2_32 (windows)
  • dbghelp (windows, tracy-update only)
  • ole32 (windows)
  • uuid (windows)
  • shell32 (windows)
  • AppKit (macOS)
  • UniformTypeIdentifiers (macOS)
  • libGL (linux)
  • libEGL (linux, not required when using -Dlegacy)
  • libxkbcommon (linux, not required when using -Dlegacy)
  • libdbus-1 (linux, can be disabled with -Dno-fileselector or -Dportal=false)
  • libgtk+-3.0 (linux, only required when using -Dportal=false)

System Integrations

Tracy has been ported with support for Zig's System Integration Options.

Cross Compilation

Windows

Cross compiling to windows works out of the box. It can even connect to a client that is running a different host (Linux).

zig build -Dtarget=x86_64-windows
zig build run -Dtarget=x86_64-windows -fwine # run the tracy profiler with Wine

MacOS

Cross compiling to macos can successfully produce a binary. Whether it is functional has not been tested.

zig build -Dtarget=aarch64-macos -Dno-fileselector
file zig-out/bin/tracy-profiler

Linux

Cross compiling to Linux is currently not possible because of the dependency on libGL and libEGL.

About

Tracy ported to the zig build system

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages

  • C++ 93.4%
  • C 3.2%
  • TeX 2.1%
  • Python 1.0%
  • Zig 0.3%
  • HTML 0.0%