Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions ClangTidy.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

with run-clang-tidy script, it always produces a fixes.yaml, irrespective of whether or not there is an error, so now it tests to make sure to fail if there a file AND its size is greater than zero.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How long until someone checks in an empty 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}
)
Expand Down Expand Up @@ -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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can probably just ditch any version other than 6. This is only here fot legacy reasons and lower versions probably won't work properly.

clang-tidy60 clang-tidy-6.0
clang-tidy40 clang-tidy-4.0
clang-tidy39 clang-tidy-3.9
Expand Down Expand Up @@ -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()
Expand Down