diff options
author | Rechi <Rechi@users.noreply.github.com> | 2020-10-05 01:48:47 +0200 |
---|---|---|
committer | Rechi <Rechi@users.noreply.github.com> | 2020-10-05 01:48:47 +0200 |
commit | ea41be49b23fb92568b3c0478992b7eb5259bff9 (patch) | |
tree | e3ebfc2689a8025976c12ff188216d744aa056b2 /cmake | |
parent | cdcee0d82008e6e4b4af184d5e37ffb22439e435 (diff) |
[cmake] add clang-tidy support
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/FindClangTidy.cmake | 26 | ||||
-rw-r--r-- | cmake/scripts/android/ArchSetup.cmake | 1 |
2 files changed, 27 insertions, 0 deletions
diff --git a/cmake/modules/FindClangTidy.cmake b/cmake/modules/FindClangTidy.cmake new file mode 100644 index 0000000000..6ea614d7c6 --- /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) diff --git a/cmake/scripts/android/ArchSetup.cmake b/cmake/scripts/android/ArchSetup.cmake index 1e529de05d..888d0425dc 100644 --- a/cmake/scripts/android/ArchSetup.cmake +++ b/cmake/scripts/android/ArchSetup.cmake @@ -39,6 +39,7 @@ endif() list(APPEND SYSTEM_DEFINES -DHAS_ZEROCONF) set(ENABLE_X11 OFF CACHE BOOL "" FORCE) +set(ENABLE_CLANGTIDY OFF CACHE BOOL "Enable clang-tidy support?" FORCE) set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE) set(ENABLE_MDNS OFF CACHE BOOL "" FORCE) |