mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-07-24 19:12:56 +00:00
Add clang-tidy linting script
Add groups we might be interested in and disable failing checks. Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
This commit is contained in:
+2
-1
@@ -32,8 +32,9 @@ build/bin/
|
||||
source/tools/spirv/rules.json
|
||||
|
||||
# Linting
|
||||
cppcheck-error.log
|
||||
compile_commands.json
|
||||
copyright-check-error.log
|
||||
cppcheck-error.log
|
||||
|
||||
# Files generated by running premake5
|
||||
build/premake/.gccmachine.tmp
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
---
|
||||
Checks:
|
||||
# Some version of clang-tidy leak system configuration, so clear all checks first.
|
||||
- -*
|
||||
- bugprone-*
|
||||
- -bugprone-assignment-in-if-condition
|
||||
- -bugprone-branch-clone
|
||||
- -bugprone-casting-through-void
|
||||
- -bugprone-copy-constructor-init
|
||||
- -bugprone-crtp-constructor-accessibility
|
||||
- -bugprone-derived-method-shadowing-base-method
|
||||
- -bugprone-easily-swappable-parameters
|
||||
- -bugprone-exception-escape
|
||||
- -bugprone-fold-init-type
|
||||
- -bugprone-implicit-widening-of-multiplication-result
|
||||
- -bugprone-inaccurate-erase
|
||||
- -bugprone-inc-dec-in-conditions
|
||||
- -bugprone-incorrect-roundings
|
||||
- -bugprone-integer-division
|
||||
- -bugprone-invalid-enum-default-initialization
|
||||
- -bugprone-macro-parentheses
|
||||
- -bugprone-multi-level-implicit-pointer-conversion
|
||||
- -bugprone-narrowing-conversions
|
||||
- -bugprone-non-zero-enum-to-bool-conversion
|
||||
- -bugprone-nondeterministic-pointer-iteration-order
|
||||
- -bugprone-parent-virtual-call
|
||||
- -bugprone-pointer-arithmetic-on-polymorphic-object
|
||||
- -bugprone-random-generator-seed
|
||||
- -bugprone-reserved-identifier
|
||||
- -bugprone-return-const-ref-from-parameter
|
||||
- -bugprone-signed-char-misuse
|
||||
- -bugprone-std-namespace-modification
|
||||
- -bugprone-string-integer-assignment
|
||||
- -bugprone-suspicious-include
|
||||
- -bugprone-suspicious-memory-comparison
|
||||
- -bugprone-suspicious-semicolon
|
||||
- -bugprone-suspicious-stringview-data-usage
|
||||
- -bugprone-switch-missing-default-case
|
||||
- -bugprone-throwing-static-initialization
|
||||
- -bugprone-too-small-loop-variable
|
||||
- -bugprone-unchecked-optional-access
|
||||
- -bugprone-unhandled-self-assignment
|
||||
- -bugprone-unsafe-functions
|
||||
- -bugprone-unused-local-non-trivial-variable
|
||||
- -bugprone-use-after-move
|
||||
- cppcoreguidelines-*
|
||||
- -cppcoreguidelines-avoid-c-arrays
|
||||
- -cppcoreguidelines-avoid-const-or-ref-data-members
|
||||
- -cppcoreguidelines-avoid-do-while
|
||||
- -cppcoreguidelines-avoid-goto
|
||||
- -cppcoreguidelines-avoid-magic-numbers
|
||||
- -cppcoreguidelines-avoid-non-const-global-variables
|
||||
- -cppcoreguidelines-avoid-reference-coroutine-parameters
|
||||
- -cppcoreguidelines-explicit-virtual-functions
|
||||
- -cppcoreguidelines-init-variables
|
||||
- -cppcoreguidelines-interfaces-global-init
|
||||
- -cppcoreguidelines-macro-to-enum
|
||||
- -cppcoreguidelines-macro-usage
|
||||
- -cppcoreguidelines-missing-std-forward
|
||||
- -cppcoreguidelines-narrowing-conversions
|
||||
- -cppcoreguidelines-no-malloc
|
||||
- -cppcoreguidelines-noexcept-move-operations
|
||||
- -cppcoreguidelines-noexcept-swap
|
||||
- -cppcoreguidelines-non-private-member-variables-in-classes
|
||||
- -cppcoreguidelines-owning-memory
|
||||
- -cppcoreguidelines-prefer-member-initializer
|
||||
- -cppcoreguidelines-pro-bounds-array-to-pointer-decay
|
||||
- -cppcoreguidelines-pro-bounds-avoid-unchecked-container-access
|
||||
- -cppcoreguidelines-pro-bounds-constant-array-index
|
||||
- -cppcoreguidelines-pro-bounds-pointer-arithmetic
|
||||
- -cppcoreguidelines-pro-type-const-cast
|
||||
- -cppcoreguidelines-pro-type-cstyle-cast
|
||||
- -cppcoreguidelines-pro-type-member-init
|
||||
- -cppcoreguidelines-pro-type-reinterpret-cast
|
||||
- -cppcoreguidelines-pro-type-static-cast-downcast
|
||||
- -cppcoreguidelines-pro-type-union-access
|
||||
- -cppcoreguidelines-pro-type-vararg
|
||||
- -cppcoreguidelines-rvalue-reference-param-not-moved
|
||||
- -cppcoreguidelines-slicing
|
||||
- -cppcoreguidelines-special-member-functions
|
||||
- -cppcoreguidelines-use-default-member-init
|
||||
- -cppcoreguidelines-use-enum-class
|
||||
- -cppcoreguidelines-virtual-class-destructor
|
||||
- modernize-*
|
||||
- -modernize-avoid-bind
|
||||
- -modernize-avoid-c-arrays
|
||||
- -modernize-avoid-c-style-cast
|
||||
- -modernize-avoid-setjmp-longjmp
|
||||
- -modernize-avoid-variadic-functions
|
||||
- -modernize-concat-nested-namespaces
|
||||
- -modernize-deprecated-headers
|
||||
- -modernize-loop-convert
|
||||
- -modernize-macro-to-enum
|
||||
- -modernize-make-shared
|
||||
- -modernize-make-unique
|
||||
- -modernize-min-max-use-initializer-list
|
||||
- -modernize-pass-by-value
|
||||
- -modernize-raw-string-literal
|
||||
- -modernize-redundant-void-arg
|
||||
- -modernize-return-braced-init-list
|
||||
- -modernize-type-traits
|
||||
- -modernize-use-auto
|
||||
- -modernize-use-bool-literals
|
||||
- -modernize-use-constraints
|
||||
- -modernize-use-default-member-init
|
||||
- -modernize-use-designated-initializers
|
||||
- -modernize-use-emplace
|
||||
- -modernize-use-equals-default
|
||||
- -modernize-use-equals-delete
|
||||
- -modernize-use-integer-sign-comparison
|
||||
- -modernize-use-nodiscard
|
||||
- -modernize-use-noexcept
|
||||
- -modernize-use-nullptr
|
||||
- -modernize-use-override
|
||||
- -modernize-use-ranges
|
||||
- -modernize-use-scoped-lock
|
||||
- -modernize-use-starts-ends-with
|
||||
- -modernize-use-std-numbers
|
||||
- -modernize-use-trailing-return-type
|
||||
- -modernize-use-transparent-functors
|
||||
- -modernize-use-using
|
||||
- performance-*
|
||||
- -performance-avoid-endl
|
||||
- -performance-enum-size
|
||||
- -performance-faster-string-find
|
||||
- -performance-for-range-copy
|
||||
- -performance-inefficient-vector-operation
|
||||
- -performance-move-const-arg
|
||||
- -performance-move-constructor-init
|
||||
- -performance-no-automatic-move
|
||||
- -performance-no-int-to-ptr
|
||||
- -performance-noexcept-move-constructor
|
||||
- -performance-noexcept-swap
|
||||
- -performance-type-promotion-in-math-fn
|
||||
- -performance-unnecessary-copy-initialization
|
||||
- -performance-unnecessary-value-param
|
||||
WarningsAsErrors: ''
|
||||
HeaderFileExtensions:
|
||||
- h
|
||||
ImplementationFileExtensions:
|
||||
- cpp
|
||||
HeaderFilterRegex: '.*'
|
||||
ExcludeHeaderFilterRegex: '.*third_party.*'
|
||||
FormatStyle: none
|
||||
User: 'clang-tidy'
|
||||
CheckOptions: {}
|
||||
SystemHeaders: false
|
||||
...
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "$1" = '--list' ]; then
|
||||
clang-tidy --list-checks -checks='*'
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "$1" = '--fix' ]; then
|
||||
fix=-fix
|
||||
shift
|
||||
fi
|
||||
|
||||
./libraries/source/premake-core/bin/premake5 --file=build/premake/premake5.lua --minimal-flags --cc-config=Release compilecommands
|
||||
|
||||
jq 'map(select(.file | (test(".*source/third_party.*") | not) and (test(".*generated.*") | not) and (test(".*test.*") | not) ))' compile_commands.json >compile_commands_filtered.json
|
||||
mv compile_commands_filtered.json compile_commands.json
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
run-clang-tidy -quiet -config-file=./source/tools/lint/clang-tidy/config.yml
|
||||
else
|
||||
# shellcheck disable=SC2086
|
||||
IFS=',' run-clang-tidy -quiet ${fix} -checks="$*"
|
||||
fi
|
||||
Reference in New Issue
Block a user