diff options
author | Brad King <brad.king@kitware.com> | 2017-05-05 13:47:14 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2017-05-05 13:47:19 (GMT) |
commit | 053c0f1e44cc6900bb215b8eb2866f68211ebfe5 (patch) | |
tree | 791ffe8230f72ea58f56ee0576a988d0c1c5f9c6 | |
parent | 718f0c24f7c0ea9170c8843e17d88fb8eee70235 (diff) | |
parent | d0c3e47d806ea3a25be2e7d190e479a6ccd8faa0 (diff) | |
download | CMake-053c0f1e44cc6900bb215b8eb2866f68211ebfe5.zip CMake-053c0f1e44cc6900bb215b8eb2866f68211ebfe5.tar.gz CMake-053c0f1e44cc6900bb215b8eb2866f68211ebfe5.tar.bz2 |
Merge topic 'clang-tidy-config'
d0c3e47d clang-tidy: add option CMake_RUN_CLANG_TIDY
894ff96c auto_ptr: silence clang-tidy warnings
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !790
-rw-r--r-- | .clang-tidy | 30 | ||||
-rw-r--r-- | CMakeLists.txt | 14 | ||||
-rw-r--r-- | Source/cm_auto_ptr.hxx | 10 | ||||
-rw-r--r-- | Utilities/.clang-tidy | 6 | ||||
-rw-r--r-- | Utilities/CMakeLists.txt | 3 |
5 files changed, 58 insertions, 5 deletions
diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..a9d121a --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,30 @@ +--- +Checks: "-*,\ +misc-*,\ +-misc-incorrect-roundings,\ +-misc-macro-parentheses,\ +-misc-misplaced-widening-cast,\ +-misc-static-assert,\ +modernize-make-shared,\ +modernize-make-unique,\ +modernize-redundant-void-arg,\ +modernize-use-bool-literals,\ +modernize-use-nullptr,\ +modernize-use-override,\ +performance-*,\ +-performance-inefficient-string-concatenation,\ +readability-*,\ +-readability-function-size,\ +-readability-identifier-naming,\ +-readability-implicit-bool-cast,\ +-readability-inconsistent-declaration-parameter-name,\ +-readability-named-parameter,\ +-readability-redundant-declaration,\ +-readability-redundant-member-init,\ +-readability-simplify-boolean-expr,\ +" +HeaderFilterRegex: 'Source/cm[^/]*\.(h|hxx|cxx)$' +CheckOptions: + - key: modernize-use-nullptr.NullMacros + value: 'CM_NULLPTR' +... diff --git a/CMakeLists.txt b/CMakeLists.txt index 545177b..4dcf2f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -226,6 +226,20 @@ option(CMAKE_USE_FOLDERS "Enable folder grouping of projects in IDEs." ON) mark_as_advanced(CMAKE_USE_FOLDERS) +option(CMake_RUN_CLANG_TIDY "Run clang-tidy with the compiler." OFF) +if(CMake_RUN_CLANG_TIDY) + if(CMake_SOURCE_DIR STREQUAL CMake_BINARY_DIR) + message(FATAL_ERROR "CMake_RUN_CLANG_TIDY requires an out-of-source build!") + endif() + find_program(CLANG_TIDY_COMMAND NAMES clang-tidy) + if(NOT CLANG_TIDY_COMMAND) + message(FATAL_ERROR "CMake_RUN_CLANG_TIDY is ON but clang-tidy is not found!") + endif() + set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND}") +endif() +configure_file(.clang-tidy .clang-tidy COPYONLY) + + option(CMake_RUN_IWYU "Run include-what-you-use with the compiler." OFF) if(CMake_RUN_IWYU) find_program(IWYU_COMMAND NAMES include-what-you-use iwyu) diff --git a/Source/cm_auto_ptr.hxx b/Source/cm_auto_ptr.hxx index 2b5c059..773602a 100644 --- a/Source/cm_auto_ptr.hxx +++ b/Source/cm_auto_ptr.hxx @@ -100,10 +100,10 @@ public: /** Assign from an auto_ptr holding a compatible object. This transfers ownership to the left-hand-side of the assignment. */ template <class Y> - auto_ptr& operator=(auto_ptr<Y> cm_AUTO_PTR_CONST& a) throw() + auto_ptr& operator=(auto_ptr<Y> cm_AUTO_PTR_CONST& a) throw() // NOLINT { this->reset(cm_AUTO_PTR_CAST(a).release()); - return *this; + return *this; // NOLINT } /** @@ -127,10 +127,10 @@ public: /** Assign from another auto_ptr holding an object of the same type. This transfers ownership to the newly constructed auto_ptr. */ - auto_ptr& operator=(auto_ptr cm_AUTO_PTR_CONST& a) throw() + auto_ptr& operator=(auto_ptr cm_AUTO_PTR_CONST& a) throw() // NOLINT { this->reset(cm_AUTO_PTR_CAST(a).release()); - return *this; + return *this; // NOLINT } /** Destruct and delete the object held. */ @@ -192,7 +192,7 @@ public: auto_ptr& operator=(detail::auto_ptr_ref<X> r) throw() { this->reset(r.p_); - return *this; + return *this; // NOLINT } /** Convert to an auto_ptr_ref. This is used when a function diff --git a/Utilities/.clang-tidy b/Utilities/.clang-tidy new file mode 100644 index 0000000..381a0f4 --- /dev/null +++ b/Utilities/.clang-tidy @@ -0,0 +1,6 @@ +--- +# We want to disable all checks for 3rd party code. However, clang-tidy will +# assume we did not configure it correctly. Just add one check that will never +# be found. +Checks: '-*,llvm-twine-local' +... diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt index 014204b..0564540 100644 --- a/Utilities/CMakeLists.txt +++ b/Utilities/CMakeLists.txt @@ -29,3 +29,6 @@ endif() if(WIX_CUSTOM_ACTION_ENABLED) add_subdirectory(Release/WiX) endif() + +# Make sure generated files use the same clang-tidy checks (none). +configure_file(.clang-tidy .clang-tidy COPYONLY) |