From d88c4e18221c7857a7bfe2fbb0f5f6bef1da8d29 Mon Sep 17 00:00:00 2001 From: Loïc Blot Date: Sun, 1 Apr 2018 23:57:55 +0200 Subject: 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 --- util/travis/clangtidy.sh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 util/travis/clangtidy.sh (limited to 'util/travis/clangtidy.sh') 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 -- cgit v1.2.3