diff options
author | Loïc Blot <nerzhul@users.noreply.github.com> | 2018-04-01 23:57:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-01 23:57:55 +0200 |
commit | d88c4e18221c7857a7bfe2fbb0f5f6bef1da8d29 (patch) | |
tree | 420ab20cdda66c95a344e35ef1df20faf74852e0 /util/travis/clangtidy.sh | |
parent | 93eb0794d6f7366df5fb375855b2e5e5888304c6 (diff) | |
download | minetest-d88c4e18221c7857a7bfe2fbb0f5f6bef1da8d29.tar.gz minetest-d88c4e18221c7857a7bfe2fbb0f5f6bef1da8d29.tar.bz2 minetest-d88c4e18221c7857a7bfe2fbb0f5f6bef1da8d29.zip |
LINT: add clang-tidy step (#6295)
* Implement new travis clang-tidy build step
* This step enable some rules and enforce one rule as error
* This permits to have some C++ quality rules based on clang & clang contributor guidelines
* Fix clang-tidy reported problems on push_back -> emplace_back
Diffstat (limited to 'util/travis/clangtidy.sh')
-rwxr-xr-x | util/travis/clangtidy.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/util/travis/clangtidy.sh b/util/travis/clangtidy.sh new file mode 100755 index 000000000..2d44afe32 --- /dev/null +++ b/util/travis/clangtidy.sh @@ -0,0 +1,27 @@ +if hash clang-tidy-5.0 2>/dev/null; then + CLANG_TIDY=clang-tidy-5.0 +else + CLANG_TIDY=clang-tidy +fi + +files_to_analyze="$(find src/ -name '*.cpp' -or -name '*.h')" + +mkdir -p cmakebuild && cd cmakebuild +cmake -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -DRUN_IN_PLACE=TRUE \ + -DENABLE_GETTEXT=TRUE \ + -DENABLE_SOUND=FALSE \ + -DBUILD_SERVER=TRUE .. +make GenerateVersion +cd .. + +echo "Performing clang-tidy checks..." +./util/travis/run-clang-tidy.py -clang-tidy-binary=${CLANG_TIDY} -p cmakebuild \ + -checks='-*,modernize-use-emplace,modernize-avoid-bind,performance-*' \ + -warningsaserrors='-*,modernize-use-emplace' \ + -no-command-on-stdout -quiet \ + files 'src/.*' +RET=$? +echo "Clang tidy returned $RET" +exit $RET |