New in version 3.2.
This module provides the ctest_coverage_collect_gcov
function.
This function runs gcov on all .gcda files found in the binary tree and packages the resulting .gcov files into a tar file. This tarball also contains the following:
LABELS
that have been set on the source files.CTEST_EXTRA_COVERAGE_GLOB
.After generating this tar file, it can be sent to CDash for display with the ctest_submit(CDASH_UPLOAD)
command.
ctest_coverage_collect_gcov
ctest_coverage_collect_gcov(TARBALL <tarfile> [SOURCE <source_dir>][BUILD <build_dir>] [GCOV_COMMAND <gcov_command>] [GCOV_OPTIONS <options>...] )
Run gcov and package a tar file for CDash. The options are:
TARBALL <tarfile>
Specify the location of the .tar
file to be created for later upload to CDash. Relative paths will be interpreted with respect to the top-level build directory.
TARBALL_COMPRESSION <option> Specify a compression algorithm for the
TARBALL
data file. Using this option reduces the size of the data file before it is submitted to CDash. <option>
must be one of GZIP
, BZIP2
, XZ
, ZSTD
, FROM_EXT
, or an expression that CMake evaluates as FALSE
. The default value is BZIP2
.
If FROM_EXT
is specified, the resulting file will be compressed based on the file extension of the <tarfile>
(i.e. .tar.gz
will use GZIP
compression). File extensions that will produce compressed output include .tar.gz
, .tgz
, .tar.bzip2
, .tbz
, .tar.xz
, and .txz
.
SOURCE <source_dir>
Specify the top-level source directory for the build. Default is the value of CTEST_SOURCE_DIRECTORY
.
BUILD <build_dir>
Specify the top-level build directory for the build. Default is the value of CTEST_BINARY_DIRECTORY
.
GCOV_COMMAND <gcov_command>
Specify the full path to the gcov
command on the machine. Default is the value of CTEST_COVERAGE_COMMAND
.
GCOV_OPTIONS <options>...
Specify options to be passed to gcov. The gcov
command is run as gcov <options>... -o <gcov-dir> <file>.gcda
. If not specified, the default option is just -b -x
.
GLOB
Recursively search for .gcda files in build_dir rather than determining search locations by reading TargetDirectories.txt.
DELETE
Delete coverage files after they’ve been packaged into the .tar.
QUIET
Suppress non-error messages that otherwise would have been printed out by this function.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/module/CTestCoverageCollectGCOV.html