summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorMatthias Maennich <matthias@maennich.net>2017-09-19 13:23:54 (GMT)
committerBrad King <brad.king@kitware.com>2017-09-28 11:23:39 (GMT)
commitffefdb2c084e1e2d46c4d8133dd7aa7bcef79b85 (patch)
tree08167399bd3125858862695a0dd597a66e27f38d /CMakeLists.txt
parent7cf089fcbf527e13446a856b1c1e49542040f080 (diff)
downloadCMake-ffefdb2c084e1e2d46c4d8133dd7aa7bcef79b85.zip
CMake-ffefdb2c084e1e2d46c4d8133dd7aa7bcef79b85.tar.gz
CMake-ffefdb2c084e1e2d46c4d8133dd7aa7bcef79b85.tar.bz2
clang-tidy: Make .clang-tidy a build-time dependency
Currently a change to the clang-tidy configuration remains unnoticed for incremental builds in the way that it won't trigger a rebuild. This can be considered a missing dependency that this patch fixes by introducing a compile time definition (-DCLANG_TIDY_SHA1) that triggers a rebuild upon change. Currently this only applies to the target CMakeLib. Signed-off-by: Matthias Maennich <matthias@maennich.net>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt6
1 files changed, 6 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c578ec3..f14f62f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -250,6 +250,12 @@ if(CMake_RUN_CLANG_TIDY)
message(FATAL_ERROR "CMake_RUN_CLANG_TIDY is ON but clang-tidy is not found!")
endif()
set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND}")
+
+ # provide definitions for targets that require a rebuild once .clang-tidy changes
+ file(SHA1 ${CMAKE_CURRENT_SOURCE_DIR}/.clang-tidy clang_tidy_sha1)
+ set(CLANG_TIDY_DEFINITIONS "CLANG_TIDY_SHA1=${clang_tidy_sha1}")
+ unset(clang_tidy_sha1)
+
endif()
configure_file(.clang-tidy .clang-tidy COPYONLY)