如何禁用CMakeList.txt中protobuf生成的clang警告

问题描述 投票:0回答:1

我是Cmake / protobuf域的新手

在我的CMakeList.txt中,set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=google-*,cppcoreguidelines-*")用于短绒警告。

我还包括用于protobuf的Catkinized gRPC软件包

find_package(catkin REQUIRED COMPONENTS grpc)

generate_proto(......)

[编译该项目时,我看到file_name.pb.cc文件的很多警告

有没有办法为自动生成的文件或特定目标禁用Clang Linter?

c++ cmake clang protocol-buffers grpc
1个回答
0
投票

由于cmake会生成每个clang-tidy激活目标的所有源文件的列表,并将其传递给clang-tidys命令行,因此从clang-tidy中排除特定的源文件相对比较困难。

如果仅对一个或多个特定目标启用clang-tidy并生成自己的protobuf文件,则可以将protobuf内容分离到静态库中,而无需对该目标启用clang-tidy。对于ROS,我建议您仅对自己的目标运行clang-tidy:

set_target_properties( myAwesomeTarget
    PROPERTIES CXX_CLANG_TIDY "clang-tidy;-checks=google-*,cppcoreguidelines-"
)

如果要保留全局clang-tidy,可以用相同的方式禁用单个目标的clang-tidy:

set_target_properties( myAwesomeTarget
    PROPERTIES CXX_CLANG_TIDY ""
)
© www.soinside.com 2019 - 2024. All rights reserved.