【发布时间】:2021-11-15 04:50:42
【问题描述】:
使用 clang-tidy 静态分析器,我可以在项目的根目录中保留一个文件 (.clang-tidy),其中包含我想要激活或停用的警告。
clang-tidy 将查找此文件(据我所知)并使用此处定义的选项。这使我免于在 CMake 或 Makefiles 中对长命令行进行硬编码。
是否可以对cppcheck 静态分析器做同样的事情?
目前我有这个很长的命令行硬编码:
cppcheck --max-ctu-depth=3 --enable=all --inline-suppr --suppress=*:*thrust/complex* --suppress=missingInclude --suppress=syntaxError --suppress=unmatchedSuppression --suppress=preprocessorErrorDirective --language=c++ --std=c++14 --error-exitcode=666
这是我保存在项目根目录的.clang-tidy 配置文件示例:
---
Checks: '
*,
-readability-magic-numbers,
-modernize-use-nodiscard,
-altera-struct-pack-align,
-cert-err58-cpp,
-cppcoreguidelines-avoid-non-const-global-variables,
-cppcoreguidelines-macro-usage,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-avoid-magic-numbers,
-fuchsia-default-arguments-calls,
-fuchsia-trailing-return,
-fuchsia-statically-constructed-objects,
-fuchsia-overloaded-operator,
-hicpp-vararg,
-hicpp-no-array-decay,
-llvm-header-guard,
-llvmlibc-restrict-system-libc-headers,
-llvmlibc-implementation-in-namespace,
-llvmlibc-callee-namespace
'
WarningsAsErrors: '*'
HeaderFilterRegex: '.'
AnalyzeTemporaryDtors: false
FormatStyle: file
...
【问题讨论】:
标签: c++ configuration-files cppcheck clang-tidy