23 lines
1.1 KiB
CMake
23 lines
1.1 KiB
CMake
# Only search for clang-tidy if user has not supplied it through CMAKE_CXX_CLANG_TIDY
|
|
if(NOT DEFINED CMAKE_CXX_CLANG_TIDY)
|
|
find_program(
|
|
PTL_CLANG_TIDY_COMMAND NAMES clang-tidy clang-tidy-12 clang-tidy-11 clang-tidy-10
|
|
clang-tidy-9 clang-tidy-8 clang-tidy-7)
|
|
mark_as_advanced(PTL_CLANG_TIDY_COMMAND)
|
|
if(NOT PTL_CLANG_TIDY_COMMAND)
|
|
message(
|
|
FATAL_ERROR
|
|
"PTL_USE_CLANG_TIDY is ON, but no clang-tidy program could be found")
|
|
endif()
|
|
set(CMAKE_CXX_CLANG_TIDY "${PTL_CLANG_TIDY_COMMAND}")
|
|
endif()
|
|
|
|
# Create a preprocessor definition that depends on .clang-tidy content so the compile
|
|
# command will change when .clang-tidy changes. Nothing actually uses this definition, it
|
|
# is simply added to trigger a rebuild when *only* .clang-tidy changes.
|
|
file(SHA1 ${PROJECT_SOURCE_DIR}/.clang-tidy __ptl_clang_tidy_sha1)
|
|
add_compile_definitions("PTL_CLANG_TIDY_SHA1=${__ptl_clang_tidy_sha1}")
|
|
unset(__ptl_clang_tidy_sha1)
|
|
configure_file(${PROJECT_SOURCE_DIR}/.clang-tidy ${PROJECT_SOURCE_DIR}/.clang-tidy
|
|
COPYONLY)
|