From 3865e3a0ef280da4dfff376b98ab0ca6c27c00e5 Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Wed, 25 Jun 2025 08:44:16 +0200 Subject: [PATCH 1/2] Clarify build types --- .github/workflows/ubuntu.yml | 8 ++++---- docs/locale/en/LC_MESSAGES/user_guide/build.po | 12 +++++++++--- docs/locale/ru/LC_MESSAGES/user_guide/build.po | 16 ++++++++++------ docs/user_guide/build.rst | 5 ++++- 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 1cbc6a5bd..14141b352 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -27,7 +27,7 @@ jobs: run: > cmake -S . -B build -G Ninja -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=install + -D CMAKE_BUILD_TYPE=${{ matrix.build_type == 'Release' && 'RelWithDebInfo' || matrix.build_type }} -DCMAKE_INSTALL_PREFIX=install env: CC: gcc-14 CXX: g++-14 @@ -135,7 +135,7 @@ jobs: run: > cmake -S . -B build -G Ninja -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install + -D CMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=install env: CC: clang-20 CXX: clang++-20 @@ -242,7 +242,7 @@ jobs: run: > cmake -S . -B build -G Ninja -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D CMAKE_BUILD_TYPE=RELEASE + -D CMAKE_BUILD_TYPE=RelWithDebInfo -D ENABLE_ADDRESS_SANITIZER=ON -D ENABLE_UB_SANITIZER=ON -D ENABLE_LEAK_SANITIZER=ON -D CMAKE_INSTALL_PREFIX=install env: @@ -355,7 +355,7 @@ jobs: run: > cmake -S . -B build -G Ninja -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D CMAKE_BUILD_TYPE=RELEASE + -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_VERBOSE_MAKEFILE=ON -D USE_COVERAGE=ON - name: Build project run: | diff --git a/docs/locale/en/LC_MESSAGES/user_guide/build.po b/docs/locale/en/LC_MESSAGES/user_guide/build.po index 37e40f0f4..99a649b03 100644 --- a/docs/locale/en/LC_MESSAGES/user_guide/build.po +++ b/docs/locale/en/LC_MESSAGES/user_guide/build.po @@ -45,9 +45,15 @@ msgid "``-D USE_PERF_TESTS=ON`` enable performance tests." msgstr "" #: ../../user_guide/build.rst:22 -msgid "" -"``-D CMAKE_BUILD_TYPE=Release`` required parameter for stable work of " -"repo." +msgid "``-D CMAKE_BUILD_TYPE=Release`` normal build (default)." +msgstr "" + +#: ../../user_guide/build.rst:23 +msgid "``-D CMAKE_BUILD_TYPE=RelWithDebInfo`` recommended when using sanitizers or running ``valgrind`` to keep debug information." +msgstr "" + +#: ../../user_guide/build.rst:24 +msgid "``-D CMAKE_BUILD_TYPE=Debug`` for debugging sessions." msgstr "" #: ../../user_guide/build.rst:24 diff --git a/docs/locale/ru/LC_MESSAGES/user_guide/build.po b/docs/locale/ru/LC_MESSAGES/user_guide/build.po index 13b2384c3..794a046b2 100644 --- a/docs/locale/ru/LC_MESSAGES/user_guide/build.po +++ b/docs/locale/ru/LC_MESSAGES/user_guide/build.po @@ -46,12 +46,16 @@ msgid "``-D USE_PERF_TESTS=ON`` enable performance tests." msgstr "``-D USE_PERF_TESTS=ON`` включает тесты на производительность." #: ../../user_guide/build.rst:22 -msgid "" -"``-D CMAKE_BUILD_TYPE=Release`` required parameter for stable work of " -"repo." -msgstr "" -"``-D CMAKE_BUILD_TYPE=Release`` требуемый CMake параметр для стабильной работы " -"репозитория." +msgid "``-D CMAKE_BUILD_TYPE=Release`` normal build (default)." +msgstr "``-D CMAKE_BUILD_TYPE=Release`` нормальная сборка (по умолчанию)." + +#: ../../user_guide/build.rst:23 +msgid "``-D CMAKE_BUILD_TYPE=RelWithDebInfo`` recommended when using sanitizers or running ``valgrind`` to keep debug information." +msgstr "``-D CMAKE_BUILD_TYPE=RelWithDebInfo`` рекомендуется при использовании санитайзеров или запуске ``valgrind`` для сохранения отладочной информации." + +#: ../../user_guide/build.rst:24 +msgid "``-D CMAKE_BUILD_TYPE=Debug`` for debugging sessions." +msgstr "``-D CMAKE_BUILD_TYPE=Debug`` используется при отладке." #: ../../user_guide/build.rst:24 msgid "*A corresponding flag can be omitted if it's not needed.*" diff --git a/docs/user_guide/build.rst b/docs/user_guide/build.rst index 29d27fc28..e1ac0ceea 100644 --- a/docs/user_guide/build.rst +++ b/docs/user_guide/build.rst @@ -15,7 +15,10 @@ Navigate to a source code folder. - ``-D USE_FUNC_TESTS=ON`` enable functional tests. - ``-D USE_PERF_TESTS=ON`` enable performance tests. - - ``-D CMAKE_BUILD_TYPE=Release`` required parameter for stable work of repo. + - ``-D CMAKE_BUILD_TYPE=Release`` normal build (default). + - ``-D CMAKE_BUILD_TYPE=RelWithDebInfo`` recommended when using sanitizers or + running ``valgrind`` to keep debug information. + - ``-D CMAKE_BUILD_TYPE=Debug`` for debugging sessions. *A corresponding flag can be omitted if it's not needed.* From 68475335c82013d45881731b621c5a07e700549f Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Wed, 25 Jun 2025 08:45:17 +0200 Subject: [PATCH 2/2] Fix leftovers --- .github/workflows/ubuntu.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 14141b352..05d3677b0 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -27,7 +27,7 @@ jobs: run: > cmake -S . -B build -G Ninja -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D CMAKE_BUILD_TYPE=${{ matrix.build_type == 'Release' && 'RelWithDebInfo' || matrix.build_type }} -DCMAKE_INSTALL_PREFIX=install + -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=install env: CC: gcc-14 CXX: g++-14 @@ -135,7 +135,7 @@ jobs: run: > cmake -S . -B build -G Ninja -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D CMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=install + -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install env: CC: clang-20 CXX: clang++-20 @@ -355,7 +355,7 @@ jobs: run: > cmake -S . -B build -G Ninja -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D CMAKE_BUILD_TYPE=RelWithDebInfo + -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_VERBOSE_MAKEFILE=ON -D USE_COVERAGE=ON - name: Build project run: |