CTestCoverageCollectGCOV¶
於版本 3.2 加入。
此模組提供 ctest_coverage_collect_gcov
函數。
此函數在二元樹中找到的所有 .gcda 檔案上執行 gcov,並將產生的 .gcov 檔案打包到 tar 檔案中。此 tarball 也包含以下內容:
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 並打包一個 tar 檔案以供 CDash 使用。選項如下:
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
變數的支援。