Commit Graph

150 Commits

Author SHA1 Message Date
Joris Vaillant
d6ef0f0fa4 Fix GitRef.hpp generation on Windows 2026-08-28 10:50:48 +02:00
Bartosz Taudul
aa53e377e7 Use xdg-foreign v2 protocol for Wayland file dialog parent window. 2026-08-22 18:31:26 +02:00
Bartosz Taudul
db851737e0 Prevent ini settings from reversing sortable table column order.
The imgui 1.92.9b ini writer omits 'Column N' lines for columns without
saved data (e.g. the unsized, unsorted 'Zone' column of the child zones
table, which only persists the default Time sort). On restore, the
missing entry keeps Index == -1, the sequential fallback in
TableLoadSettingsForColumns() assigns it to the remaining column, and
TableFixDisplayOrder() sorts DisplayOrder -1 to the end - flipping the
column order (Time | Zone in the zone info child list) for the session.
Guard the non-reorderable load path against phantom entries.

Upstream: https://github.com/ocornut/imgui/issues/9519
2026-08-21 20:20:42 +02:00
Bartosz Taudul
328f50211f Link TracyImGui library with libdl.
ImGui OpenGL loader uses dlopen / dlsym / dlclose to load the OpenGL
implementation.

Linking with libdl is not needed with glibc >= 2.34 (released in 2021):

NEWS for version 2.34
=====================

Major new features:

* In order to support smoother in-place-upgrades and to simplify
  the implementation of the runtime all functionality formerly
  implemented in the libraries libpthread, libdl, libutil, libanl has
  been integrated into libc.  New applications do not need to link with
  -lpthread, -ldl, -lutil, -lanl anymore.

(...)

Older glibc versions and also possibly other libc implementations still
need the libdl link.
2026-08-17 22:13:59 +02:00
Bartosz Taudul
8985887128 Don't include GUI profiler deps for all other tools. 2026-07-31 22:01:52 +02:00
Bartosz Taudul
bf21d8ea11 Bump ImGui to 1.92.9b-docking. 2026-07-31 18:12:14 +02:00
Bartosz Taudul
8f52e0e5f5 Enable clipboard on macOS. 2026-07-25 14:34:24 +02:00
Bartosz Taudul
9db60de03b Do not embed default ImGui font. 2026-07-25 14:30:13 +02:00
Bartosz Taudul
e53c2849fa Bump ImGui to 1.92.9-docking. 2026-07-25 14:29:12 +02:00
Bartosz Taudul
cf82fb9bb0 Disable unused stuff if building libcurl. 2026-07-24 18:25:05 +02:00
Bartosz Taudul
c1fa33a875 Link with system libcurl to avoid libssh deps. 2026-07-23 15:43:59 +02:00
Bartosz Taudul
1d6f43d92f Disable external libraries used by freetype.
Not needed for the current set of fonts.
2026-07-23 15:30:39 +02:00
Bartosz Taudul
c2b489a0ff Do not link macOS bundle with homebrew libraries.
Do not want dependency on something being installed via brew.
2026-07-23 14:57:45 +02:00
Bartosz Taudul
f9413c268d Bump usearch to 2.26.0. 2026-07-22 22:35:42 +02:00
Bartosz Taudul
6e23d220d7 Bump capstone to 6.0.0-Alpha10. 2026-07-22 22:33:29 +02:00
Ivan Molodetskikh
e40ce11ba9 Link NFD statically
Currently, the profiler will build against the git NFD, but link it as a
shared library. Since libnfd is not installed when building Tracy as a
distro package, it will end up actually depending on and running against
an older distro-provided NFD, hitting an unresolved function error due
to the newly added NFD function in git.

Other deps fetched with CPM are linked statically, avoiding this
problem.
2026-07-09 10:46:00 +03:00
Bartosz Taudul
5be36d732b Bump nfd to current master. 2026-07-02 01:29:50 +02:00
Bartosz Taudul
280af2e7bd Bump curl. 2026-07-02 00:30:53 +02:00
Bartosz Taudul
83298a3459 Bump usearch. 2026-07-02 00:30:48 +02:00
Bartosz Taudul
21f9c00e9f Bump md4c to current master. 2026-07-02 00:24:57 +02:00
Bartosz Taudul
781938317d Bump pugixml to 1.16. 2026-06-16 18:10:38 +02:00
Bartosz Taudul
f9365abe4f Do not use samplers in renderer.
Tracy requires some textures to have repeat wrapping mode set. The ImGui
implementation of samplers doesn't make it easy to achieve. Disalbe use
of samplers and rely on texture flags, as done originally.
2026-06-16 16:02:08 +02:00
Bartosz Taudul
f8aa88d522 Explicitly disable shared libs for md4c.
Fixes emscripten build.
2026-06-14 15:06:36 +02:00
Bartosz Taudul
3974cc8026 Add support for proper rendering of markdown footnotes. 2026-06-05 19:09:49 +02:00
Bartosz Taudul
9f88bc6d04 Bump capstone. 2026-05-29 18:16:14 +02:00
Clément Grégoire
aaf1304308 Options.cmake: unify set_options* and tracy_set_options
Renamed `tracy_*` versions to short version without prefix
2026-05-26 12:50:19 +02:00
Bartosz Taudul
215199239f Merge pull request #1370 from siliceum/feature/custom-platform-hooks
Add `TRACY_PLATFORM_HEADER` hook for unsupported platforms
2026-05-24 15:48:43 +02:00
Clément Grégoire
84570487bf Move CMake option wrappers into cmake/options.cmake.
Move `tracy_set_option` and `tracy_set_option_value` from `CMakeLists.txt` into `cmake/options.cmake`. Add `tracy_set_option_value_as_string` for options whose value is embedded as a C string literal. All three accept an optional trailing target argument; when provided, the option is also propagated as a PUBLIC compile definition on that target.

Existing `set_option`/`set_option_value` are unchanged but will be replaced later by the `tracy_*` versions.
2026-05-24 15:42:42 +02:00
Bartosz Taudul
cffd0007c5 Bump libs. 2026-05-23 23:41:39 +02:00
Bartosz Taudul
6ded0d1d7b Bump imgui to 1.92.8-docking. 2026-05-12 18:03:45 +02:00
Bartosz Taudul
5bbafeabd7 Patch ppqsort to fix binary_semaphore release race. 2026-05-04 01:13:53 +02:00
Bartosz Taudul
bb1d4ad580 Revert usearch bump – broken on windows. 2026-04-02 21:05:35 +02:00
Bartosz Taudul
d5eb85e4c4 Bump deps. 2026-04-02 21:00:14 +02:00
Bartosz Taudul
d8139f2058 Allow disabling LTO, mold linker, ccache. 2026-03-31 23:15:15 +02:00
Bartosz Taudul
5877db5411 Move NO_ISA_EXTENSIONS option to config.cmake. 2026-03-31 23:15:14 +02:00
Bartosz Taudul
b6b1eed1d5 Externalize option setting macros. Add one for non-booleans. 2026-03-31 23:15:14 +02:00
Bartosz Taudul
e89eadf91a Fix copy pasta. 2026-03-31 23:15:11 +02:00
Bartosz Taudul
8bd49317ca Set include list for GitRef. 2026-03-28 21:38:27 +01:00
Bartosz Taudul
1b34592d80 Move git ref CMake extractor to a separate file. 2026-03-28 19:23:15 +01:00
Bartosz Taudul
49590756a0 Extract broadcast message parsing into TracyBroadcast
Move broadcast message parsing logic from profiler/src/main.cpp into
server/TracyBroadcast.cpp/hpp. This reduces code duplication and enables
reuse by other tools (e.g., multi-capture).

ParseBroadcastMessage() handles all broadcast protocol versions (0-3) and
returns std::optional<BroadcastMessage>. ClientUniqueID() generates a unique
identifier from IP address and port.

Co-authored-by: Grégoire Roussel <gregoire.roussel@wandercraft.eu>
2026-03-02 19:45:48 +01:00
Bartosz Taudul
95661c24df Revert "Bump usearch to 2.24.0."
This reverts commit 6de054002d.
2026-02-19 18:03:51 +01:00
Bartosz Taudul
6de054002d Bump usearch to 2.24.0. 2026-02-17 22:06:06 +01:00
Bartosz Taudul
9079baf0b3 Bump capstone to 6.0.0-Alpha7. 2026-02-17 22:01:39 +01:00
Bartosz Taudul
a754bbe3a4 Bump imgui to 1.92.6-docking. 2026-02-17 21:49:11 +01:00
Bartosz Taudul
a371325346 Bump dependencies. 2026-01-26 20:48:15 +01:00
Bartosz Taudul
38b73254e9 Add emoji font. 2026-01-14 01:51:32 +01:00
Bartosz Taudul
e889fa17f3 Bump usearch to 2.22.0. 2025-12-29 20:46:48 +01:00
Alex Gunnarson
921d426488 Add conditional compilation option for MSVC 2025-12-17 15:26:58 -07:00
Louis Gombert
92ca07bb31 Link imgui against X11 libs
Imgui-docking >=v1.92.3 GLFW back-end requires linking against x11 libraries. This solves link failures when building tracy with the LEGACY option turned on.
2025-12-05 23:49:16 +01:00
Marco Treglia
951fc1b071 required pkg-config lib-curl v7.87.0 in the profiler
Resolving compiling issue when building with previous version of lib-curl.

If locally is present an older version of lib-curl the profiler build fails with:

```
   29 |     curl_easy_setopt( curl, CURLOPT_CA_CACHE_TIMEOUT, 604800L );
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~
      |                             CURLOPT_DNS_CACHE_TIMEOUT
include/curl/curl.h:3109:68: note: expanded from macro 'curl_easy_setopt'
 3109 | #define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param)
      |                                                                    ^
include/curl/curl.h:1398:11: note: 'CURLOPT_DNS_CACHE_TIMEOUT' declared here
 1398 |   CURLOPT(CURLOPT_DNS_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 92),
      |           ^
tracy/profiler/src/profiler/TracyLlmApi.cpp:144:46: error: use of undeclared identifier 'CURL_WRITEFUNC_ERROR'; did you mean 'CURLE_WRITE_ERROR'?
  144 |             if( !v.callback( json ) ) return CURL_WRITEFUNC_ERROR;
      |                                              ^~~~~~~~~~~~~~~~~~~~
      |                                              CURLE_WRITE_ERROR
include/curl/curl.h:524:3: note: 'CURLE_WRITE_ERROR' declared here
  524 |   CURLE_WRITE_ERROR,             /* 23 */
      |   ^
2 errors generated.
```

Both CURLOPT_CA_CACHE_TIMEOUT and CURL_WRITEFUNC_ERROR were added in
https://curl.se/ch/7.87.0.html

Now checking the version will avoid such issues:

-- Checking for module 'libcurl>=7.87.0'
--   Package dependency requirement 'libcurl >= 7.87.0' could not be satisfied.
Package 'libcurl' has version '7.84.0', required version is '>= 7.87.0'
-- CPM: Adding package libcurl@ (curl-8_17_0 to ...)
2025-12-05 10:51:29 +01:00