···200200201201# cmake-format: off
202202option_with_deps(CMAKE_INTERPROCEDURAL_OPTIMIZATION "Enable inter-procedural (link-time) optimization" DEFAULT OFF DEPENDS HAS_IPO)
203203+option(XRT_HAVE_TRACY "Enable Tracy support for tracing, make sure to set XRT_FEATURE_TRACING as well." OFF)
203204204205# Graphics deps to use (sorted in each group, groups thematic and ordered to handle internal deps: e.g. EGL and SDL2 need OpenGL/GLES)
205206option_with_deps(XRT_HAVE_OPENGL "Enable OpenGL Graphics API support" DEPENDS OPENGL_WITHOUT_GLX_FOUND)
···248249option_with_deps(XRT_FEATURE_SERVICE_SYSTEMD "Enable systemd socket activation of the service" DEPENDS XRT_HAVE_SYSTEMD XRT_FEATURE_SERVICE)
249250option_with_deps(XRT_FEATURE_SLAM "Enable SLAM tracking support" DEPENDS XRT_HAVE_OPENCV "XRT_HAVE_BASALT_SLAM OR XRT_HAVE_KIMERA_SLAM")
250251option_with_deps(XRT_FEATURE_STEAMVR_PLUGIN "Build SteamVR plugin" DEPENDS "NOT ANDROID")
251251-option_with_deps(XRT_FEATURE_TRACING "Enable debug tracing on supported platforms" DEFAULT OFF DEPENDS XRT_HAVE_PERCETTO)
252252+option_with_deps(XRT_FEATURE_TRACING "Enable debug tracing on supported platforms" DEFAULT OFF DEPENDS "XRT_HAVE_PERCETTO OR XRT_HAVE_TRACY")
252253option_with_deps(XRT_FEATURE_WINDOW_PEEK "Enable a window that displays the content of the HMD on screen" DEPENDS XRT_HAVE_SDL2)
253254254255if (XRT_FEATURE_SERVICE)
···377378# Flags
378379###
379380381381+if(XRT_HAVE_TRACY)
382382+ # Needed to fully enable.
383383+ add_definitions(-DTRACY_ENABLE)
384384+endif()
385385+386386+if(XRT_HAVE_TRACY AND XRT_HAVE_PERCETTO)
387387+ message(FATAL_ERROR "Max one tracing backend, XRT_HAVE_TRACY and XRT_HAVE_PERCETTO enabled")
388388+endif()
389389+380390if(XRT_HAVE_XLIB AND NOT XRT_HAVE_XRANDR)
381391 message(WARNING "XRT_HAVE_XLIB requires XRT_HAVE_XRANDR but XRT_HAVE_XRANDR is disabled")
382392endif()
···481491message(STATUS "# SLAM: ${XRT_FEATURE_SLAM}")
482492message(STATUS "# SYSTEM_CJSON: ${XRT_HAVE_SYSTEM_CJSON}")
483493message(STATUS "# SYSTEMD: ${XRT_HAVE_SYSTEMD}")
494494+message(STATUS "# TRACY: ${XRT_HAVE_TRACY}")
484495message(STATUS "# VULKAN: ${XRT_HAVE_VULKAN}")
485496message(STATUS "# WAYLAND: ${XRT_HAVE_WAYLAND}")
486497message(STATUS "# WAYLAND_DIRECT: ${XRT_HAVE_WAYLAND_DIRECT}")