From d8f6932888135c0dd5523394e8d7bc19ae06012b Mon Sep 17 00:00:00 2001 From: Nils Wentzell Date: Fri, 6 Apr 2018 14:35:21 +0200 Subject: [PATCH] Make static analyzers optional --- c++/app4triqs/CMakeLists.txt | 51 ++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/c++/app4triqs/CMakeLists.txt b/c++/app4triqs/CMakeLists.txt index 92a6f4da..2674e7a9 100644 --- a/c++/app4triqs/CMakeLists.txt +++ b/c++/app4triqs/CMakeLists.txt @@ -21,33 +21,38 @@ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION include FILES_MATCHING # ========= Static Analyzer Checks ========== -# Locate static analyzer tools -find_program(CPPCHECK_EXECUTABLE NAMES "cppcheck" PATHS ENV PATH) -find_program(CLANG_TIDY_EXECUTABLE NAMES "clang-tidy" PATHS ENV PATH) +option(ANALYZE_SOURCES OFF "Run static analyzer checks if found (clang-tidy, cppcheck)") +if(ANALYZE_SOURCES) -# Run clang-tidy if found -if(CLANG_TIDY_EXECUTABLE) - message(STATUS "clang-tidy found: ${CLANG_TIDY_EXECUTABLE}") - set_target_properties(app4triqs_c PROPERTIES CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}") -else() - message(STATUS "clang-tidy not found in $PATH. Please consider installing clang-tidy for additional checks!") -endif() + # Locate static analyzer tools + find_program(CPPCHECK_EXECUTABLE NAMES "cppcheck" PATHS ENV PATH) + find_program(CLANG_TIDY_EXECUTABLE NAMES "clang-tidy" PATHS ENV PATH) -# Run cppcheck if found -if(CPPCHECK_EXECUTABLE) - message(STATUS "cppcheck found: ${CPPCHECK_EXECUTABLE}") - add_custom_command( + # Run clang-tidy if found + if(CLANG_TIDY_EXECUTABLE) + message(STATUS "clang-tidy found: ${CLANG_TIDY_EXECUTABLE}") + set_target_properties(app4triqs_c PROPERTIES CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}") + else() + message(STATUS "clang-tidy not found in $PATH. Please consider installing clang-tidy for additional checks!") + endif() + + # Run cppcheck if found + if(CPPCHECK_EXECUTABLE) + message(STATUS "cppcheck found: ${CPPCHECK_EXECUTABLE}") + add_custom_command( TARGET app4triqs_c COMMAND ${CPPCHECK_EXECUTABLE} - --enable=warning,style,performance,portability - --std=c++14 - --template=gcc - --verbose - --quiet - ${sources} - ) -else() - message(STATUS "cppcheck not found in $PATH. Please consider installing cppcheck for additional checks!") + --enable=warning,style,performance,portability + --std=c++14 + --template=gcc + --verbose + --quiet + ${sources} + ) + else() + message(STATUS "cppcheck not found in $PATH. Please consider installing cppcheck for additional checks!") + endif() + endif()