diff --git a/cmake/modules/FindClangTidy.cmake b/cmake/modules/FindClangTidy.cmake new file mode 100644 index 0000000000000000000000000000000000000000..7607a7384bf12862f293ba9fe17d11871af4f707 --- /dev/null +++ b/cmake/modules/FindClangTidy.cmake @@ -0,0 +1,22 @@ +# Use this module by invoking find_package with the form:: +# +# find_package(ClangTidy +# [version] # Minimum version e.g. 3.7 +# ) +# +# optionally pass the minimal version you require like so find_package(ClangTidy 3.7) +# this module set ClangTidy_EXECUTABLE, ClangTidy_VERSION +# and ClangTidy_FOUND accordingly +# +find_program(ClangTidy_EXECUTABLE NAMES clang-tidy clang-tidy-3.6 clang-tidy-3.7 clang-tidy-3.8 clang-tidy-3.9 clang-tidy-4.0) +if(EXISTS ${ClangTidy_EXECUTABLE}) + execute_process(COMMAND ${ClangTidy_EXECUTABLE} -version OUTPUT_VARIABLE clang_out ) + string(REGEX REPLACE ".*clang-tidy version ([0-9]+\\.[0-9]+).*" "\\1" ClangTidy_VERSION ${clang_out}) +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(ClangTidy + REQUIRED_VARS ClangTidy_EXECUTABLE + VERSION_VAR ClangTidy_VERSION + ) +