diff options
author | Matthias Maennich <matthias@maennich.net> | 2017-09-19 13:23:54 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-09-28 11:23:39 (GMT) |
commit | ffefdb2c084e1e2d46c4d8133dd7aa7bcef79b85 (patch) | |
tree | 08167399bd3125858862695a0dd597a66e27f38d | |
parent | 7cf089fcbf527e13446a856b1c1e49542040f080 (diff) | |
download | CMake-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>
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | Source/CMakeLists.txt | 2 |
2 files changed, 8 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) diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index fdc6476..a4dd918 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -779,6 +779,8 @@ if(WIN32 AND NOT UNIX) target_link_libraries(CMakeLib rpcrt4 crypt32) endif() +target_compile_definitions(CMakeLib PUBLIC ${CLANG_TIDY_DEFINITIONS}) + # # CTestLib # |