From be933ef2241d79558f91796cc5b3a161f72ebf9c Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 19 Oct 2020 00:52:24 +0200 Subject: sync with upstream --- cmake/modules/FindClangTidy.cmake | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 cmake/modules/FindClangTidy.cmake (limited to 'cmake/modules/FindClangTidy.cmake') diff --git a/cmake/modules/FindClangTidy.cmake b/cmake/modules/FindClangTidy.cmake new file mode 100644 index 0000000..6ea614d --- /dev/null +++ b/cmake/modules/FindClangTidy.cmake @@ -0,0 +1,26 @@ +#.rst: +# FindClangTidy +# ------------- +# Finds clang-tidy and sets it up to run along with the compiler for C and CXX. + +find_program(CLANG_TIDY_EXECUTABLE clang-tidy) + +if(CLANG_TIDY_EXECUTABLE) + execute_process(COMMAND "${CLANG_TIDY_EXECUTABLE}" --version + OUTPUT_VARIABLE CLANG_TIDY_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX MATCH "[^\n]* version [^\n]*" CLANG_TIDY_VERSION "${CLANG_TIDY_VERSION}") + string(REGEX REPLACE ".* version (.*)" "\\1" CLANG_TIDY_VERSION "${CLANG_TIDY_VERSION}") +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(ClangTidy REQUIRED_VARS CLANG_TIDY_EXECUTABLE + VERSION_VAR CLANG_TIDY_VERSION) + +if(CLANGTIDY_FOUND) + # Supports Unix Makefiles and Ninja + set(CMAKE_C_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}" PARENT_SCOPE) + set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}" PARENT_SCOPE) +endif() + +mark_as_advanced(CLANG_TIDY_EXECUTABLE) -- cgit v1.2.3