From 32189f08c67dc9b907d425fe38bf3222200cadba Mon Sep 17 00:00:00 2001 From: Rodrigo Reichert Date: Fri, 26 Feb 2021 14:14:08 +1100 Subject: [PATCH 1/2] allow for clang-tidy to be parallized by using the run-clang-tidy script if available --- ClangTidy.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ClangTidy.cmake b/ClangTidy.cmake index 4ead3ba..4fbacb0 100644 --- a/ClangTidy.cmake +++ b/ClangTidy.cmake @@ -248,6 +248,9 @@ function(swift_setup_clang_tidy) # First search for an appropriate clang-tidy if(NOT x_CLANG_TIDY_NAMES) set(x_CLANG_TIDY_NAMES + run-clang-tidy run-clang-tidy.py + run-clang-tidy-6.0 run-clang-tidy-6.0.py + run-clang-tidy-4.0 run-clang-tidy-4.0.py clang-tidy60 clang-tidy-6.0 clang-tidy40 clang-tidy-4.0 clang-tidy39 clang-tidy-3.9 @@ -285,11 +288,11 @@ function(swift_setup_clang_tidy) create_clang_tidy_targets( TOP_LEVEL ${top_level_project} ALL_COMMAND - ${${PROJECT_NAME}_CLANG_TIDY} ${x_EXTRA_ARGS} -p ${CMAKE_BINARY_DIR} --export-fixes=${CMAKE_CURRENT_SOURCE_DIR}/fixes.yaml + ${${PROJECT_NAME}_CLANG_TIDY} ${x_EXTRA_ARGS} -p ${CMAKE_BINARY_DIR} -export-fixes=${CMAKE_CURRENT_SOURCE_DIR}/fixes.yaml `git ls-files ${srcs}` DIFF_COMMAND git diff --diff-filter=ACMRTUXB --quiet --name-only master -- ${srcs} || - ${${PROJECT_NAME}_CLANG_TIDY} ${x_EXTRA_ARGS} -p ${CMAKE_BINARY_DIR} --export-fixes=${CMAKE_CURRENT_SOURCE_DIR}/fixes.yaml + ${${PROJECT_NAME}_CLANG_TIDY} ${x_EXTRA_ARGS} -p ${CMAKE_BINARY_DIR} -export-fixes=${CMAKE_CURRENT_SOURCE_DIR}/fixes.yaml `git diff --diff-filter=ACMRTUXB --name-only master -- ${srcs}` ) endif() From d94a61f5a0909999dcf4168297f9deef90288875 Mon Sep 17 00:00:00 2001 From: Rodrigo Reichert Date: Fri, 26 Feb 2021 15:06:57 +1100 Subject: [PATCH 2/2] added check to make sure file is empty --- ClangTidy.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ClangTidy.cmake b/ClangTidy.cmake index 4fbacb0..ee8ee46 100644 --- a/ClangTidy.cmake +++ b/ClangTidy.cmake @@ -118,12 +118,12 @@ function(create_clang_tidy_targets) WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) add_custom_target(clang-tidy-all-check - COMMAND test ! -f fixes.yaml + COMMAND test ! -s fixes.yaml DEPENDS clang-tidy-all WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) add_custom_target(clang-tidy-diff-check - COMMAND test ! -f fixes.yaml + COMMAND test ! -s fixes.yaml DEPENDS clang-tidy-diff WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )