Change TRACY_ENABLE default to OFF to match documentation.

The documentation states that Tracy is disabled by default, but the
build system defaults were ON/true. Change CMake and Meson defaults to
OFF/false. Projects that need profiling enabled must now opt in
explicitly. Add explicit TRACY_ENABLE=ON / tracy_enable=true to CI
steps and the test project to preserve existing behavior.
This commit is contained in:
Bartosz Taudul
2026-04-10 18:47:05 +02:00
parent 82560c8c0e
commit f71c74aaf7
6 changed files with 9 additions and 7 deletions

View File

@@ -56,14 +56,14 @@ jobs:
cmake --build merge/build --parallel
- name: Library (cmake)
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake -B build -DCMAKE_BUILD_TYPE=Release -DTRACY_ENABLE=ON
cmake --build build
cmake --install build
env:
CMAKE_INSTALL_PREFIX: ${{ github.workspace }}/bin
- name: Library (meson)
run: |
meson setup -Dprefix=$GITHUB_WORKSPACE/bin/lib build-meson
meson setup -Dprefix=$GITHUB_WORKSPACE/bin/lib -Dtracy_enable=true build-meson
meson compile -C build-meson
- name: Test application
run: |

View File

@@ -50,7 +50,7 @@ jobs:
cmake -B merge/build -S merge -DCMAKE_BUILD_TYPE=Release -DGIT_REV=${{ github.sha }}
cmake --build merge/build --parallel --config Release
- name: Build library
run: meson setup -Dprefix=$GITHUB_WORKSPACE/bin/lib build && meson compile -C build && meson install -C build
run: meson setup -Dprefix=$GITHUB_WORKSPACE/bin/lib -Dtracy_enable=true build && meson compile -C build && meson install -C build
- name: Package artifacts
run: |
mkdir -p bin

View File

@@ -30,7 +30,7 @@ jobs:
restore-keys: ${{ runner.os }}-cpm-
- name: Build TracyClient
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release \
cmake -B build -DCMAKE_BUILD_TYPE=Release -DTRACY_ENABLE=ON \
-DCMAKE_SYSTEM_NAME=Windows \
-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc \
-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++
@@ -50,7 +50,7 @@ jobs:
cpu = 'x86_64'
endian = 'little'
EOF
meson setup build-meson --cross-file mingw-cross.txt -Ddefault_library=static
meson setup build-meson --cross-file mingw-cross.txt -Ddefault_library=static -Dtracy_enable=true
meson compile -C build-meson
- name: Test application
run: |

View File

@@ -124,7 +124,7 @@ macro(tracy_set_option_value var help default)
endif()
endmacro()
tracy_set_option(TRACY_ENABLE "Enable profiling" ON)
tracy_set_option(TRACY_ENABLE "Enable profiling" OFF)
tracy_set_option(TRACY_ON_DEMAND "On-demand profiling" OFF)
tracy_set_option_value(TRACY_CALLSTACK "Override the callstack collection depth for tracy zones" "")
tracy_set_option(TRACY_NO_CALLSTACK "Disable all callstack related functionality" OFF)

View File

@@ -1,4 +1,4 @@
option('tracy_enable', type : 'boolean', value : true, description : 'Enable profiling', yield: true)
option('tracy_enable', type : 'boolean', value : false, description : 'Enable profiling', yield: true)
option('on_demand', type : 'boolean', value : false, description : 'On-demand profiling')
option('callstack', type : 'integer', value : 0, description : 'Enforce callstack collection for tracy zones x frames deep')
option('no_callstack', type : 'boolean', value : false, description : 'Disable all callstack related functionality')

View File

@@ -13,6 +13,8 @@ project(
file(GENERATE OUTPUT .gitignore CONTENT "*")
set(CMAKE_COLOR_DIAGNOSTICS ON)
option(TRACY_ENABLE "Enable profiling" ON)
# a bit weird but works: include the client cmake config coming from top-level
# cmake needs us to specify the build subfolder -> client/ this way we can
# simply link the test executable against TracyClient