diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000000000000000000000000000000000000..af07d7cf245290dd15d4dcc62de2a04756f9c483 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,68 @@ +--- +Checks: '-*,modernize-*,-modernize-use-auto,-modernize-loop-convert,-modernize-pass-by-value,-modernize-raw-string-literal,-modernize-use-using,-modernize-avoid-bind,-modernize-return-braced-init-list,-modernize-deprecated-headers,-modernize-use-transparent-functors,-modernize-redundant-void-arg' +WarningsAsErrors: '*' +HeaderFilterRegex: '' +AnalyzeTemporaryDtors: false +FormatStyle: none +User: si11fita +CheckOptions: + - key: modernize-loop-convert.MaxCopySize + value: '16' + - key: modernize-loop-convert.MinConfidence + value: reasonable + - key: modernize-loop-convert.NamingStyle + value: CamelCase + - key: modernize-make-shared.IgnoreMacros + value: '1' + - key: modernize-make-shared.IncludeStyle + value: '0' + - key: modernize-make-shared.MakeSmartPtrFunction + value: 'std::make_shared' + - key: modernize-make-shared.MakeSmartPtrFunctionHeader + value: memory + - key: modernize-make-unique.IgnoreMacros + value: '1' + - key: modernize-make-unique.IncludeStyle + value: '0' + - key: modernize-make-unique.MakeSmartPtrFunction + value: 'std::make_unique' + - key: modernize-make-unique.MakeSmartPtrFunctionHeader + value: memory + - key: modernize-pass-by-value.IncludeStyle + value: llvm + - key: modernize-pass-by-value.ValuesOnly + value: '0' + - key: modernize-raw-string-literal.ReplaceShorterLiterals + value: '0' + - key: modernize-replace-auto-ptr.IncludeStyle + value: llvm + - key: modernize-replace-random-shuffle.IncludeStyle + value: llvm + - key: modernize-use-auto.RemoveStars + value: '0' + - key: modernize-use-default-member-init.IgnoreMacros + value: '1' + - key: modernize-use-default-member-init.UseAssignment + value: '0' + - key: modernize-use-emplace.ContainersWithPushBack + value: '::std::vector;::std::list;::std::deque' + - key: modernize-use-emplace.SmartPointers + value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr' + - key: modernize-use-emplace.TupleMakeFunctions + value: '::std::make_pair;::std::make_tuple' + - key: modernize-use-emplace.TupleTypes + value: '::std::pair;::std::tuple' + - key: modernize-use-equals-default.IgnoreMacros + value: '1' + - key: modernize-use-noexcept.ReplacementString + value: '' + - key: modernize-use-noexcept.UseNoexceptFalse + value: '1' + - key: modernize-use-nullptr.NullMacros + value: 'NULL' + - key: modernize-use-transparent-functors.SafeMode + value: '0' + - key: modernize-use-using.IgnoreMacros + value: '1' +... + diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4cf439fe24bd22b024875be726aef1d0bc137b96..d78d00a12a9535420bf293c6bb2b4a4851a08cae 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1142,6 +1142,23 @@ doc: ## ## ############################################################################### +clang-tidy: + image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:6.0 + script: + - $CXX --version + - cmake --version + - mkdir $CI_PROJECT_DIR/build + - cd $CI_PROJECT_DIR/build + - cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DWALBERLA_BUFFER_DEBUG=ON -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_TOOLS=ON -DWALBERLA_BUILD_WITH_MPI=ON -DWALBERLA_BUILD_WITH_OPENMP=ON -DCMAKE_BUILD_TYPE=Debug -DWALBERLA_DOUBLE_ACCURACY=ON + - cmake . -LAH + - run-clang-tidy.py -quiet | tee clang-tidy-output.txt + artifacts: + paths: + - $CI_PROJECT_DIR/build/clang-tidy-output.txt + tags: + - docker + + cppcheck: image: walberla/cppcheck script: diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ee1e578c7a963ec1f5f40c907fce8aa647b1b6b..08496e0736789d7c60e1d6be97fe66ecf7a44356 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1327,3 +1327,12 @@ add_subdirectory ( apps ) waLBerla_export() ############################################################################################################################ + +############################################################################################################################ +## +## clang-tidy +## +############################################################################################################################ + +waLBerla_link_files_to_builddir( .clang-tidy ) +waLBerla_link_files_to_builddir( run-clang-tidy.py )