Commit 44f43bd62144b8c08fb52c6fac75e4fa82f3e457
1 parent
101c926d
Adding clang tidy details
Showing
3 changed files
with
39 additions
and
6 deletions
.clang-tidy
0 → 100644
| 1 | +#Checks: '*,-clang-analyzer-alpha.*' | |
| 2 | +Checks: '-*,google-readability-casting,llvm-namespace-comment,performance-unnecessary-value-param,llvm-include-order,misc-throw-by-value-catch-by-reference,readability-container-size-empty,google-runtime-references,modernize*' | |
| 3 | +HeaderFilterRegex: '.*hpp' | |
| 4 | +CheckOptions: | |
| 5 | +- key: readability-braces-around-statements.ShortStatementLines | |
| 6 | + value: '1' | |
| 7 | + | ... | ... |
CMakeLists.txt
| ... | ... | @@ -22,6 +22,24 @@ else() |
| 22 | 22 | endif() |
| 23 | 23 | |
| 24 | 24 | |
| 25 | +if(CMAKE_VERSION VERSION_GREATER 3.6) | |
| 26 | +# Add clang-tidy if available | |
| 27 | + option(CLANG_TIDY_FIX "Perform fixes for Clang-Tidy (resets to OFF)" OFF) | |
| 28 | + find_program( | |
| 29 | + CLANG_TIDY_EXE | |
| 30 | + NAMES "clang-tidy" | |
| 31 | + DOC "Path to clang-tidy executable" | |
| 32 | + ) | |
| 33 | + | |
| 34 | + if(CLANG_TIDY_EXE) | |
| 35 | + if(CLANG_TIDY_FIX) | |
| 36 | + set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-fix") | |
| 37 | + else() | |
| 38 | + set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}") | |
| 39 | + endif() | |
| 40 | + endif() | |
| 41 | +endif() | |
| 42 | + | |
| 25 | 43 | |
| 26 | 44 | if(CMAKE_BUILD_TYPE STREQUAL Coverage) |
| 27 | 45 | include(CodeCoverage) |
| ... | ... | @@ -64,3 +82,4 @@ if(CLI_EXAMPLES) |
| 64 | 82 | add_subdirectory(examples) |
| 65 | 83 | endif() |
| 66 | 84 | |
| 85 | +set(CLANG_TIDY_FIX OFF CACHE BOOL "Perform fixes for Clang-Tidy (resets to OFF)" FORCE) | ... | ... |
examples/CMakeLists.txt
| 1 | -add_executable(try try.cpp ${CLI_headers}) | |
| 2 | -target_link_libraries(try PUBLIC CLI11) | |
| 1 | +function(add_cli_exe T) | |
| 2 | + add_executable(${T} ${ARGN} ${CLI_headers}) | |
| 3 | + target_link_libraries(${T} PUBLIC CLI11) | |
| 3 | 4 | |
| 4 | -add_executable(try1 try1.cpp ${CLI_headers}) | |
| 5 | -target_link_libraries(try1 PUBLIC CLI11) | |
| 5 | + if(CLANG_TIDY_EXE) | |
| 6 | + set_target_properties( | |
| 7 | + ${T} PROPERTIES | |
| 8 | + CXX_CLANG_TIDY "${DO_CLANG_TIDY}" | |
| 9 | + ) | |
| 10 | + endif() | |
| 11 | +endfunction() | |
| 6 | 12 | |
| 7 | -add_executable(try2 try2.cpp ${CLI_headers}) | |
| 8 | -target_link_libraries(try2 PUBLIC CLI11) | |
| 13 | +add_cli_exe(try try.cpp) | |
| 14 | +add_cli_exe(try1 try1.cpp) | |
| 15 | +add_cli_exe(try2 try2.cpp) | ... | ... |