首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cmake + clang_tidy -禁用目录中的检查

cmake + clang_tidy -禁用目录中的检查
EN

Stack Overflow用户
提问于 2019-10-11 09:25:07
回答 3查看 6.1K关注 0票数 7

我有一个使用CMake的大型项目。我想用以下代码添加clang_tidy-8支持:

代码语言:javascript
运行
复制
set(BORG_CLANG_TIDY OFF CACHE STRING "If enabled, clang-tidy will be used. If set to 'fix', fixes will be done on source")
set_property(CACHE BORG_CLANG_TIDY PROPERTY STRINGS ON OFF fix)
if(BORG_CLANG_TIDY)
    if (BORG_CLANG_TIDY STREQUAL "fix")
        set(maybe_fix -fix)
    endif()

    set(CMAKE_CXX_CLANG_TIDY clang-tidy-8 -extra-arg=-Wno-unknown-warning-option -format-style=file ${maybe_fix} )
endif()

我将适当的.clang-tidy放在项目的根目录中(带期望的检查)。但是,有些目录我不希望clang整齐地检查/修复(3 3rdparty和遗留代码,因为它很脆弱而不能修改)。因此,我尝试将空的.clang-tidy文件放在这些目录中(-checks=-*=空)。这不管用,因为Error: no checks enabled.

我希望能找到一些假的-checks=-*,hello-world-do-nothing-check,但什么也没有出现。

是否有其他方法禁用选定子目录(/subtrees)中的检查?这些目录是静态的,需要时可以在CMake中硬编码。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-10-14 14:57:03

如果您想要一个不会做任何事情的虚拟检查,那么至少有一个选项非常容易禁用:定义中的标头

可以使用HeaderFileExtensions选项使检查只使用特定的头文件后缀。如果将其设置为不存在的行"x“,则可以选择hello-world-do-nothing-check。然后,您的clang-整齐文件将如下所示:

代码语言:javascript
运行
复制
Checks: '-*,misc-definitions-in-headers'
CheckOptions:
  - { key: HeaderFileExtensions,          value: "x" }

您还可以检查https://stackoverflow.com/a/56319752/9874699并尝试对line-filter进行调整,以筛选出某些目录中的文件。

票数 3
EN

Stack Overflow用户

发布于 2020-03-27 23:36:31

是否有其他方法禁用选定子目录(/subtrees)中的检查?

在这些子目录中包含的CMakeList.txt文件中,添加以下行:

代码语言:javascript
运行
复制
set(CMAKE_CXX_CLANG_TIDY "")

但是这不是一个好的解决方案:它在构建系统和特定于工具链的工具之间创建了一个绑定。CMAKE_CXX_CLANG_TIDY只应通过配置命令(或可能通过工具链文件)设置。

票数 2
EN

Stack Overflow用户

发布于 2021-02-09 01:00:47

下面是我在这个场景中使用的内容:

代码语言:javascript
运行
复制
# Disable most checks as this is third-party code
# Have to enable at least one check, so pick a benign one!
#InheritParentConfig: false
Checks:              cppcoreguidelines-avoid-goto

我想我们都可以同意“去发表被认为有害的声明”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58338202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档