Added 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:
data.json defines the source and build directories for use by CDash.
Labels.json indicates any LABELS
that have been set on the
source files.
The uncovered directory holds any uncovered files found by
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(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>
Added in version 3.18.
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
Added in version 3.6.
Recursively search for .gcda files in build_dir rather than determining search locations by reading TargetDirectories.txt.
DELETE
Added in version 3.6.
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.
Added in version 3.3: Added support for the CTEST_CUSTOM_COVERAGE_EXCLUDE
variable.