From 255dbdf5dada48d69a9eedc2f880d2198537bc93 Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Sun, 11 May 2025 21:23:26 +0200 Subject: [PATCH] Make CMake keys enabled by default --- .github/workflows/codeql.yml | 3 +-- .github/workflows/main.yml | 20 ++++++-------------- .github/workflows/pages.yml | 6 ++++-- .github/workflows/static-analysis-pr.yml | 6 ------ cmake/configure.cmake | 2 ++ cmake/modes.cmake | 4 ++-- cmake/mpi.cmake | 2 +- cmake/onetbb.cmake | 2 +- cmake/openmp.cmake | 2 +- cmake/threads.cmake | 2 +- docs/user_guide/build.rst | 2 +- 11 files changed, 20 insertions(+), 31 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index a92545fc1..2c2989672 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -41,8 +41,7 @@ jobs: run: > cmake -S . -B build -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON - -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON + -G Ninja -D CMAKE_BUILD_TYPE=RELEASE env: CC: gcc-14 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 31f6e2118..cf3405b03 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,8 +54,7 @@ jobs: run: > cmake -S . -B build -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON - -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON + -G Ninja -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install env: CC: gcc-14 @@ -214,8 +213,7 @@ jobs: run: > cmake -S . -B build -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON - -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON + -G Ninja -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install env: CC: clang-19 @@ -373,8 +371,7 @@ jobs: run: > cmake -S . -B build -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON - -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON + -G Ninja -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_ADDRESS_SANITIZER=ON -D ENABLE_UB_SANITIZER=ON -D CMAKE_INSTALL_PREFIX=install env: @@ -542,10 +539,10 @@ jobs: run: > cmake -S . -B build -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON + -G Ninja -DCMAKE_C_FLAGS="-I$(brew --prefix)/opt/libomp/include" -DCMAKE_CXX_FLAGS="-I$(brew --prefix)/opt/libomp/include" - -D CMAKE_BUILD_TYPE=RELEASE -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON + -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install - name: Build project run: | @@ -706,8 +703,6 @@ jobs: run: > cmake -S . -B build -G Ninja -D CMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON - -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install - name: Build project shell: bash @@ -872,8 +867,6 @@ jobs: run: > cmake -S . -B build -G Ninja -D CMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON - -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install env: CC: clang-cl @@ -1028,8 +1021,7 @@ jobs: run: > cmake -S . -B build -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON - -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON + -G Ninja -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_VERBOSE_MAKEFILE=ON -D USE_COVERAGE=ON diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index d9b84c2ab..01a0d74cf 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -25,7 +25,8 @@ jobs: python3 -m pip install -r docs/requirements.txt - name: Configure project run: > - cmake -S . -B build -D USE_DOCS=ON + cmake -S . -B build -DUSE_DOCS=ON + -DUSE_MPI=OFF -DUSE_SEQ=OFF -DUSE_OMP=OFF -DUSE_TBB=OFF -DUSE_STL=OFF - name: Build i18n run: | cmake --build build -t docs_gettext @@ -51,8 +52,9 @@ jobs: run: | python3 -m pip install -r requirements.txt - name: CMake configure - run: | + run: > cmake -S . -B build -DUSE_SCOREBOARD=ON + -DUSE_MPI=OFF -DUSE_SEQ=OFF -DUSE_OMP=OFF -DUSE_TBB=OFF -DUSE_STL=OFF - name: CMake build run: | cmake --build build --parallel diff --git a/.github/workflows/static-analysis-pr.yml b/.github/workflows/static-analysis-pr.yml index 563e1a45d..740cca354 100644 --- a/.github/workflows/static-analysis-pr.yml +++ b/.github/workflows/static-analysis-pr.yml @@ -25,10 +25,7 @@ jobs: cmake_command: > cmake -S . -B build -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON -G Ninja - -D USE_SEQ=ON -D USE_MPI=ON - -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -D USE_SYSTEM_OPENCV=ON config_file: .clang-tidy @@ -64,9 +61,6 @@ jobs: cmake -S . -B build -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -G Ninja - -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON - -D USE_SEQ=ON -D USE_MPI=ON - -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -D USE_SYSTEM_OPENCV=ON config_file: .clang-tidy diff --git a/cmake/configure.cmake b/cmake/configure.cmake index 1984b16ac..4fde50e85 100644 --- a/cmake/configure.cmake +++ b/cmake/configure.cmake @@ -2,6 +2,8 @@ if(MSVC) option(gtest_force_shared_crt "" TRUE) endif(MSVC) +option(USE_SEQ ON) + if (APPLE) set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG TRUE) endif(APPLE) diff --git a/cmake/modes.cmake b/cmake/modes.cmake index ee787ccd0..3093faa2d 100644 --- a/cmake/modes.cmake +++ b/cmake/modes.cmake @@ -11,13 +11,13 @@ MACRO(SUBDIRLIST result curdir) SET(${result} ${dirlist}) ENDMACRO() -option(USE_FUNC_TESTS OFF) +option(USE_FUNC_TESTS ON) if( USE_FUNC_TESTS ) message( STATUS "Enable functional tests" ) add_compile_definitions(USE_FUNC_TESTS) endif( USE_FUNC_TESTS ) -option(USE_PERF_TESTS OFF) +option(USE_PERF_TESTS ON) if( USE_PERF_TESTS ) message( STATUS "Enable performance tests" ) add_compile_definitions(USE_PERF_TESTS) diff --git a/cmake/mpi.cmake b/cmake/mpi.cmake index 3a26e000e..9afefa41a 100644 --- a/cmake/mpi.cmake +++ b/cmake/mpi.cmake @@ -1,4 +1,4 @@ -option(USE_MPI OFF) +option(USE_MPI ON) if( USE_MPI ) find_package( MPI ) if( MPI_FOUND ) diff --git a/cmake/onetbb.cmake b/cmake/onetbb.cmake index 84be4835e..280616491 100644 --- a/cmake/onetbb.cmake +++ b/cmake/onetbb.cmake @@ -1,4 +1,4 @@ -option(USE_TBB OFF) +option(USE_TBB ON) if( USE_TBB ) # Build Core OneTBB components include_directories(${CMAKE_SOURCE_DIR}/3rdparty/onetbb/include) diff --git a/cmake/openmp.cmake b/cmake/openmp.cmake index e94fd3e64..19072deda 100644 --- a/cmake/openmp.cmake +++ b/cmake/openmp.cmake @@ -1,4 +1,4 @@ -option(USE_OMP OFF) +option(USE_OMP ON) if( USE_OMP ) find_package( OpenMP ) if( OpenMP_FOUND ) diff --git a/cmake/threads.cmake b/cmake/threads.cmake index be534ffd9..32b1ddede 100644 --- a/cmake/threads.cmake +++ b/cmake/threads.cmake @@ -1,4 +1,4 @@ -option(USE_STL OFF) +option(USE_STL ON) if( USE_STL ) find_package( Threads ) endif( USE_STL ) diff --git a/docs/user_guide/build.rst b/docs/user_guide/build.rst index 217e9af5c..31b3502ec 100644 --- a/docs/user_guide/build.rst +++ b/docs/user_guide/build.rst @@ -8,7 +8,7 @@ Navigate to a source code folder. .. code-block:: bash mkdir build && cd build - cmake -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON -D CMAKE_BUILD_TYPE=Release .. + cmake -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON -D CMAKE_BUILD_TYPE=Release .. *Help on CMake keys:*