排除 lcov 目录的便携式方法

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

我正在运行 lcov,我无法阻止它分析基本 c++ 目录。我尝试了 --no-external ,它排除了一切。我尝试过--删除

lcov --remove <in-file> <pattern> -output-file <out-file>

它需要一个针对当前工具链且非常详细的模式。似乎没有办法有一个命令可以排除“/usr/include”下的所有内容。

这是我在 Ubuntu 24.04 上编译时当前输出的目录,如果我在 22.04 上编译,名称会有所不同。

include/xxx
src
/usr/include/c++/13
/usr/include/c++/13/bits
/usr/include/c++/13/ext
/usr/include/x86_64-linux-gnu/c++/13/bits

我的代码结构是

project/include/xxx/xxx.h
project/src/xxx.cc
project/build  -- cmake build directory 

这是一个如此微不足道的请求,我简直不敢相信它没有简单的解决方案。

c++ cmake lcov
1个回答
0
投票

如果您使用的是最近的 lcov 版本,那么对

--exclude
--include
模式有相当广泛的支持。 看起来正是您所要求的。 (包含/排除模式可以在任何工具中使用:
lcov
genhtml
等。 这很有用,因为您可以收集和存储所有数据 - 但选择仅为其部分数据生成 HTML 报告。)

© www.soinside.com 2019 - 2024. All rights reserved.