CTestCoverageCollectGCOV¶
在 3.2 版本加入.
该模块提供了``ctest_coverage_collect_gcov`` 功能。
此函数对二叉树中找到的所有 .gcda 文件运行 gcov,并将生成的 .gcov 文件打包到一个 tar 文件中。此 tarball 还包含以下内容:
data.json 定义供 CDash 使用的源目录和构建目录。
Labels.json 表示已在源文件上设置的任何
LABELS。uncovered 目录包含 CTEST_EXTRA_COVERAGE_GLOB 找到的所有未覆盖文件。
生成此 tar 文件后,可以使用 ctest_submit(CDASH_UPLOAD) 命令将其发送到 CDash 进行显示。
- ctest_coverage_collect_gcov¶
ctest_coverage_collect_gcov(TARBALL <tarfile> [SOURCE <source_dir>][BUILD <build_dir>] [GCOV_COMMAND <gcov_command>] [GCOV_OPTIONS <options>...] )
运行 gcov 并为 CDash 打包一个 tar 文件。选项是:
TARBALL <tarfile>指定要创建的
.tar文件的位置,以便稍后上传到 CDash。相对路径将根据顶级构建目录进行解释。TARBALL_COMPRESSION <选项>在 3.18 版本加入.
为“TARBALL”数据文件指定压缩算法。在将数据文件提交给 CDash 之前,使用该选项可以减小数据文件的大小。
<option>必须是GZIP、BZIP2、XZ、ZSTD、FROM_EXT或 CMake 计算为 `` 的表达式之一假的``。默认值为“BZIP2”。如果指定了“FROM_EXT”,生成的文件将根据“<tarfile>”的文件扩展名进行压缩(即“.tar.gz”将使用“GZIP”压缩)。将产生压缩输出的文件扩展名包括``.tar.gz``、
.tgz、.tar.bzip2、.tbz、.tar.xz和``.txz``。来源 <source_dir>指定构建的顶级源目录。默认值为 CTEST_SOURCE_DIRECTORY 的值。
构建 <build_dir>指定构建的顶级构建目录。默认值为 CTEST_BINARY_DIRECTORY 的值。
GCOV_COMMAND <gcov_command>指定机器上
gcov命令的完整路径。默认值为 CTEST_COVERAGE_COMMAND 的值。GCOV_OPTIONS <选项>...指定要传递给 gcov 的选项。
gcov命令作为gcov <options>... -o <gcov-dir> <file>.gcda运行。如果未指定,默认选项只是-b -x。全球在 3.6 版本加入.
在 build_dir 中递归搜索 .gcda 文件,而不是通过读取 TargetDirectories.txt 来确定搜索位置。
删除在 3.6 版本加入.
将覆盖文件打包到 .tar 后删除它们。
安静抑制本函数打印出的非错误消息。
在 3.3 版本加入: 添加了对 CTEST_CUSTOM_COVERAGE_EXCLUDE 变量的支持。