From 40ca6ef12536300b1ea5e06dea4d98833f4e267d Mon Sep 17 00:00:00 2001 From: "Kelly (KT) Thompson" Date: Wed, 22 Apr 2020 11:10:31 -0600 Subject: CTestCoverageCollectGCOV: Add TARBALL_COMPRESSION option 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 --- .../dev/CTestCoverageCollectGCOV-compress-opts.rst | 7 + Modules/CTestCoverageCollectGCOV.cmake | 54 +++++++- Tests/CTestCoverageCollectGCOV/test.cmake.in | 144 +++++++++++++++++++-- 3 files changed, 191 insertions(+), 14 deletions(-) create mode 100644 Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst diff --git a/Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst b/Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst new file mode 100644 index 0000000..eb8532d --- /dev/null +++ b/Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst @@ -0,0 +1,7 @@ +CTestCoverageCollectGCOV-compress-opts +-------------------------------------- + +* The :module:`CTestCoverageCollectGCOV` module + :command:`ctest_coverage_collect_gcov` function gained a + ``TARBALL_COMPRESSION`` option to control compression of the + tarball of collected results. diff --git a/Modules/CTestCoverageCollectGCOV.cmake b/Modules/CTestCoverageCollectGCOV.cmake index b498086..b1268be 100644 --- a/Modules/CTestCoverageCollectGCOV.cmake +++ b/Modules/CTestCoverageCollectGCOV.cmake @@ -37,6 +37,17 @@ After generating this tar file, it can be sent to CDash for display with the upload to CDash. Relative paths will be interpreted with respect to the top-level build directory. + ``TARBALL_COMPRESSION