summaryrefslogtreecommitdiff
path: root/Modules/CTestCoverageCollectGCOV.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Help: Add `.. versionadded` directives to module docsNikita Nemkin2020-12-021-1/+12
| | | | Issue: #19715
* Help: Add Sphinx 'versionadded' directives to each top-level documentKitware Robot2020-07-061-0/+2
| | | | | | | Run the `Utilities/Sphinx/update_versions.py` script to add initial markup to every top-level document and find module. Issue: #19715
* CTestCoverageCollectGCOV: Add TARBALL_COMPRESSION optionKelly (KT) Thompson2020-04-301-6/+48
| | | | | | | | | | | | | For large projects, the default bzip2 compression of gcov data is prohibitively expensively (could take several hours). Introduce options that allow the consumer to choose between file size and compression time. Add a new optional argument `TARBALL_COMPRESSION` for the macro `ctest_coverage_collect_gcov`. This option accepts the values `GZIP`, `BZIP2`, `XZ`, `FROM_EXT`, or an expression that evaluates to `FALSE`. The default value is `BZIP2` to preserve prior behavior. Fixes: #20593
* CTestCoverageCollectGCOV: Avoid capturing gcov output in QUIET modeBrad King2020-04-081-3/+14
| | | | | | | | The `QUIET` mode suppresses any mention of our logged output, so do not bother logging it. This also provides a way for users to avoid saving possibly large output on disk. Fixes: #20554
* CTestCoverageCollectGCOV: Capture gcov output in log fileBrad King2020-04-081-2/+3
| | | | | | | | The output of gcov can be large and we only display it in a failure case. Put it in a log file to avoid accumulating large output in memory. Issue: #20554
* CTestCoverageCollectGCOV: Fix typo in ctest_coverage_collect_gcov docsBrad King2019-11-081-1/+1
| | | | | | Docs added by commit f3e0b6f1eb (CTestCoverageCollectGCOV: Add module to run gcov, 2015-01-14, v3.2.0-rc1~79^2) accidentally called the function `cdash_coverage_collect_gcov`. Rename `cdash` to `ctest`.
* CTestCoverageCollectGCOV: run gcov with -xCristian Morales Vega2019-05-031-2/+2
| | | | | | | Using "-x" we avoid overwriting .gcov files from source files in different paths which happen to have the same name. It's similar to "-p", but it produces shorter file names, reducing the risk of reaching the file system limit.
* CTestCoverageCollectGCOV: run gcov only onceCristian Morales Vega2019-05-031-22/+16
| | | | | | | | | Running gcov once per .gcda file is not only inefficient, it also generates wrong data since .gcov files can get overwritten and in general gcov works with less information. fakegcov.cmake needs to be able to handle multiple .gcda files for the test to be meaningful.
* Help: Convert remaining modules to block-style commentsKitware Robot2018-10-221-63/+64
|
* Don't include CMakeParseArgumentsDaniel Pfeifer2017-01-111-1/+0
| | | | | | | | | | | | The cmake_parse_arguments command is builtin with version 3.5. The CMakeParseArguments module is empty and exists for backwards compatibility with CMake 3.4 and lower. Remove the includes of CMakeParseArguments from CMake's modules. The modules are always used with the current version of CMake. Leave the includes in the tests, as the tests may be run with an older version of CMake.
* Simplify CMake per-source license noticesBrad King2016-09-271-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* CTestCoverageCollectGCOV: improve DELETE optionZack Galbreath2016-04-191-2/+6
| | | | | | | | | | | | | The DELETE option to ctest_coverage_collect_gcov now properly removes all the .gcov files that were created by this function. Previously it left behind any files that were excluded by CTEST_CUSTOM_COVERAGE_EXCLUDE. This option now also deletes the following files/directory that are created by ctest_coverage_collect_gcov: data.json coverage_file_list.txt the uncovered/ directory
* Merge topic 'branch_coverage_working_dir'Brad King2016-04-071-2/+2
|\ | | | | | | | | c5ff34cc CTestCoverageCollectGCOV: specify base dir for GLOB_RECURSE
| * CTestCoverageCollectGCOV: specify base dir for GLOB_RECURSEZack Galbreath2016-04-041-2/+2
| | | | | | | | | | | | Consistently glob for .gcda files in the binary directory. Previously the behavior of this function depended on the current working directory that it was called from.
* | CTestCoverageCollectGCOV: Improve documentationZack Galbreath2016-04-071-8/+13
| | | | | | | | Clean up prose and mention support for CTEST_EXTRA_COVERAGE_GLOB.
* | CTestCoverageCollectGCOV: Honor CTEST_EXTRA_COVERAGE_GLOBZack Galbreath2016-04-071-0/+57
|/ | | | | | | Teach CTestCoverageCollectGCOV to honor the CTEST_EXTRA_COVERAGE_GLOB variable. When this variable is set, this module will glob for matching source files that were not covered and include them in the resulting tar file.
* More options for CTestCoverageCollectGCOVZack Galbreath2016-02-101-17/+47
| | | | | | | | | | | | | | | This commit introduces two new options to CTestCoverageCollectGCOV. When GLOB is set we recursively search in the source & binary directories for .gcda files. Otherwise the default behavior is to parse TargetDirectories.txt for a list of locations to search. When DELETE is set we remove any .gcda file found after it has been used to generate the corresponding .gcov file. The .gcov file is also removed after the result tarball has been created. Together these two new features help support the use case of computing coverage across subprojects.
* CTEST_CUSTOM_*: treat variables as listsBen Boeckel2015-09-211-1/+1
|
* CTestCoverageCollectGCOV: Write tar files intended for CDash in gnutar formatNils Gladitz2015-04-101-0/+1
| | | | | PHP's PharData can not currently (PHP 5.6.4) extract paxr tar archives with long filenames.
* CTestCoverageCollectGCOV: Support CTEST_CUSTOM_COVERAGE_EXCLUDENils Gladitz2015-04-041-1/+30
|
* ctest_coverage: Add QUIET optionZack Galbreath2015-02-231-5/+20
|
* CTestCoverageCollectGCOV: Fix handling of international charactersBrad King2015-02-031-1/+2
| | | | | | | When loading the list of target support directories, read the file with UTF-8 encoding since that is what CMake writes into the file. This allows us to support international characters in the path to the build tree containing the target support directories.
* CTestCoverageCollectGCOV: Allow custom flags to gcovBill Hoffman2015-02-031-2/+15
| | | | | | | | Add a GCOV_OPTIONS option to allow specification of custom flags. In ctest_coverage gcov support, if you set CTEST_COVERAGE_EXTRA_FLAGS, they get put on the command line before the -o. In this case we remove the -b and replace it with GCOV_OPTIONS. All other arguments remain the same.
* CTestCoverageCollectGCOV: Fix handling of large file countsBill Hoffman2015-02-031-2/+9
| | | | Use the --files-from option to tar to handle lots of files.
* CTestCoverageCollectGCOV: Add module to run gcovBill Hoffman2015-01-221-0/+138
Provide a function to run gcov and create a tarball of results. Since CDash tracks the md5sum of the files uploaded, use the --mtime option with "cmake -E tar" so that tar files could be created that would have the same md5sum with the same content.