CTestCoverageCollectGCOV¶
在 3.2 版本中添加。
此模块提供 ctest_coverage_collect_gcov
函数。
此函数在二进制树中找到的所有 .gcda 文件上运行 gcov,并将生成的 .gcov 文件打包到一个 tar 文件中。此 tar 包还包含以下内容
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 <option>
在 3.18 版本中添加。
为
TARBALL
数据文件指定压缩算法。使用此选项可在将数据文件提交至 CDash 之前减小其大小。<option>
必须为GZIP
、BZIP2
、XZ
、ZSTD
、FROM_EXT
或 CMake 评估为FALSE
的表达式之一。默认值为BZIP2
。如果指定了
FROM_EXT
,则生成的 文件将基于<tarfile>
的文件扩展名进行压缩(即.tar.gz
将使用GZIP
压缩)。将生成压缩输出的文件扩展名包括.tar.gz
、.tgz
、.tar.bzip2
、.tbz
、.tar.xz
和.txz
。SOURCE <source_dir>
指定构建的顶级源目录。默认值是
CTEST_SOURCE_DIRECTORY
的值。BUILD <build_dir>
指定构建的顶级构建目录。默认值是
CTEST_BINARY_DIRECTORY
的值。GCOV_COMMAND <gcov_command>
指定机器上
gcov
命令的完整路径。默认值是CTEST_COVERAGE_COMMAND
的值。GCOV_OPTIONS <options>...
指定传递给 gcov 的选项。
gcov
命令以gcov <options>... -o <gcov-dir> <file>.gcda
的形式运行。如果未指定该选项,则默认选项只是-b -x
。GLOB
在版本 3.6 中添加。
在 build_dir 中递归搜索 .gcda 文件,而不是通过读取 TargetDirectories.txt 确定搜索位置。
DELETE
在版本 3.6 中添加。
在覆盖率文件打包到 .tar 之后将其删除。
QUIET
取消打印本函数输出的非错误消息。
在版本 3.3 中添加:添加了对
CTEST_CUSTOM_COVERAGE_EXCLUDE
变量的支持。