diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-16 15:37:58 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-16 15:37:58 +0800 |
| commit | a39d8f6f4ed2ad0f8435b73bd6b2a35769c6fead (patch) | |
| tree | e18600b7459edd38c00c4074a30511691aeda345 /backend/cmake/modules/RCCBackendDeveloperTools.cmake | |
| parent | 3c998e2fc02c6ca7869c586cbf2e1cbb7ea3c7bf (diff) | |
| download | rcc-project-a39d8f6f4ed2ad0f8435b73bd6b2a35769c6fead.tar.gz rcc-project-a39d8f6f4ed2ad0f8435b73bd6b2a35769c6fead.tar.xz | |
cmake: Run clang-tidy incrementally in parallel
Diffstat (limited to 'backend/cmake/modules/RCCBackendDeveloperTools.cmake')
| -rw-r--r-- | backend/cmake/modules/RCCBackendDeveloperTools.cmake | 45 |
1 files changed, 30 insertions, 15 deletions
diff --git a/backend/cmake/modules/RCCBackendDeveloperTools.cmake b/backend/cmake/modules/RCCBackendDeveloperTools.cmake index 0313fe6..4c328f9 100644 --- a/backend/cmake/modules/RCCBackendDeveloperTools.cmake +++ b/backend/cmake/modules/RCCBackendDeveloperTools.cmake @@ -27,19 +27,34 @@ function(rcc_backend_add_developer_targets) if(TidyFiles) list(REMOVE_DUPLICATES TidyFiles) - # LLVM's repository runs clang-tidy-diff.py for changed lines. Keep the - # backend's explicit full audit deterministic by invoking clang-tidy once - # with the registered translation units instead of using a process pool. + # Match LLVM's normal lint path: pass the changed backend lines to its + # clang-tidy-diff.py driver, which runs independent translation units in parallel. add_custom_target( rcc-backend-tidy COMMAND - "${RCC_BACKEND_CLANG_TIDY}" - "--quiet" + "${CMAKE_COMMAND}" + "-DRCC_TIDY_GIT=${RCC_BACKEND_GIT}" + "-DRCC_TIDY_SOURCE_DIR=${RCC_BACKEND_SOURCE_DIR}" + "-DRCC_TIDY_BINARY_DIR=${CMAKE_BINARY_DIR}" + "-DRCC_TIDY_BASE=${RCC_BACKEND_TIDY_BASE}" + "-DRCC_TIDY_JOBS=${RCC_BACKEND_TIDY_JOBS}" + "-DRCC_TIDY_DIFF=${RCC_BACKEND_CLANG_TIDY_DIFF}" + -P "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/RCCBackendClangTidy.cmake" + COMMENT "Running incremental clang-tidy on RCC Backend" + USES_TERMINAL + VERBATIM + ) + + add_custom_target( + rcc-backend-tidy-all + COMMAND + "${RCC_BACKEND_RUN_CLANG_TIDY}" "-p=${CMAKE_BINARY_DIR}" - "--warnings-as-errors=*" - ${TidyFiles} - COMMAND_EXPAND_LISTS - COMMENT "Running clang-tidy on RCC Backend" + -j "${RCC_BACKEND_TIDY_JOBS}" + -quiet + "-warnings-as-errors=*" + "${RCC_BACKEND_SOURCE_DIR}/.*" + COMMENT "Running full parallel clang-tidy audit on RCC Backend" USES_TERMINAL VERBATIM ) @@ -47,14 +62,14 @@ function(rcc_backend_add_developer_targets) add_custom_target( rcc-backend-analyze COMMAND - "${RCC_BACKEND_CLANG_TIDY}" - "--quiet" + "${RCC_BACKEND_RUN_CLANG_TIDY}" "-p=${CMAKE_BINARY_DIR}" + -j "${RCC_BACKEND_TIDY_JOBS}" + -quiet "-checks=-*,clang-analyzer-*" - "--warnings-as-errors=*" - ${TidyFiles} - COMMAND_EXPAND_LISTS - COMMENT "Running Clang Static Analyzer checks on RCC Backend" + "-warnings-as-errors=*" + "${RCC_BACKEND_SOURCE_DIR}/.*" + COMMENT "Running full parallel Clang Static Analyzer audit on RCC Backend" USES_TERMINAL VERBATIM ) |
