# Tracy capture build support

This directory contains support for building the `tracy-capture` binary on
supported platforms so IREE can bundle the capture tool in its own releases.

Upstream CMake projects also exist for `tracy-capture`, `tracy-profiler`, and
other tools and most developers should use those instead.

For the client libraries, see the sibling directory tracy_client.
