aboutsummaryrefslogtreecommitdiff
path: root/backend/cmake/modules/RCCBackendDeveloperTools.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'backend/cmake/modules/RCCBackendDeveloperTools.cmake')
-rw-r--r--backend/cmake/modules/RCCBackendDeveloperTools.cmake45
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
)