summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2011-10-25 19:34:16 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2011-10-25 19:34:16 (GMT)
commit5576655f369cf910a3edf25a3e1b9150926ebe43 (patch)
tree5b5af2e95a2c5a19e24a80b1f93f4223003556df
parent1df94c5a03a7a3dfb8c5b56d74e1aa0cd15a0ece (diff)
parent2f309cba455d0a946e935f66a53561ba64717faf (diff)
downloadCMake-5576655f369cf910a3edf25a3e1b9150926ebe43.zip
CMake-5576655f369cf910a3edf25a3e1b9150926ebe43.tar.gz
CMake-5576655f369cf910a3edf25a3e1b9150926ebe43.tar.bz2
Merge topic 'fix-12490-shorten-gcov-filenames'
2f309cb CTest: Add COVERAGE_EXTRA_FLAGS cache variable (#12490)
-rw-r--r--Modules/CTest.cmake3
-rw-r--r--Modules/DartConfiguration.tcl.in5
-rw-r--r--Source/CTest/cmCTestCoverageHandler.cxx9
3 files changed, 14 insertions, 3 deletions
diff --git a/Modules/CTest.cmake b/Modules/CTest.cmake
index c261eb3..ec9dbeb 100644
--- a/Modules/CTest.cmake
+++ b/Modules/CTest.cmake
@@ -189,6 +189,8 @@ IF(BUILD_TESTING)
FIND_PROGRAM(COVERAGE_COMMAND gcov DOC
"Path to the coverage program that CTest uses for performing coverage inspection"
)
+ SET(COVERAGE_EXTRA_FLAGS "-l" CACHE STRING
+ "Extra command line flags to pass to the coverage tool")
# set the site name
SITE_NAME(SITE)
@@ -257,6 +259,7 @@ IF(BUILD_TESTING)
BZRCOMMAND
BZR_UPDATE_OPTIONS
COVERAGE_COMMAND
+ COVERAGE_EXTRA_FLAGS
CTEST_SUBMIT_RETRY_DELAY
CTEST_SUBMIT_RETRY_COUNT
CVSCOMMAND
diff --git a/Modules/DartConfiguration.tcl.in b/Modules/DartConfiguration.tcl.in
index caf0afe..ad7f805 100644
--- a/Modules/DartConfiguration.tcl.in
+++ b/Modules/DartConfiguration.tcl.in
@@ -59,14 +59,17 @@ UpdateType: @UPDATE_TYPE@
# Compiler info
Compiler: @CMAKE_CXX_COMPILER@
-# Dynamic analysis and coverage
+# Dynamic analysis (MemCheck)
PurifyCommand: @PURIFYCOMMAND@
ValgrindCommand: @VALGRIND_COMMAND@
ValgrindCommandOptions: @VALGRIND_COMMAND_OPTIONS@
MemoryCheckCommand: @MEMORYCHECK_COMMAND@
MemoryCheckCommandOptions: @MEMORYCHECK_COMMAND_OPTIONS@
MemoryCheckSuppressionFile: @MEMORYCHECK_SUPPRESSIONS_FILE@
+
+# Coverage
CoverageCommand: @COVERAGE_COMMAND@
+CoverageExtraFlags: @COVERAGE_EXTRA_FLAGS@
# Cluster commands
SlurmBatchCommand: @SLURM_SBATCH_COMMAND@
diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx
index 005651f..0b1c9fe 100644
--- a/Source/CTest/cmCTestCoverageHandler.cxx
+++ b/Source/CTest/cmCTestCoverageHandler.cxx
@@ -751,12 +751,15 @@ int cmCTestCoverageHandler::HandlePHPCoverage(
}
return static_cast<int>(cont->TotalCoverage.size());
}
+
//----------------------------------------------------------------------
int cmCTestCoverageHandler::HandleGCovCoverage(
cmCTestCoverageHandlerContainer* cont)
{
std::string gcovCommand
= this->CTest->GetCTestConfiguration("CoverageCommand");
+ std::string gcovExtraFlags
+ = this->CTest->GetCTestConfiguration("CoverageExtraFlags");
// Style 1
std::string st1gcovOutputRex1
@@ -825,8 +828,10 @@ int cmCTestCoverageHandler::HandleGCovCoverage(
// Call gcov to get coverage data for this *.gcda file:
//
std::string fileDir = cmSystemTools::GetFilenamePath(it->c_str());
- std::string command = "\"" + gcovCommand + "\" -l -p -o \"" + fileDir
- + "\" \"" + *it + "\"";
+ std::string command = "\"" + gcovCommand + "\" " +
+ gcovExtraFlags + " " +
+ "-o \"" + fileDir + "\" " +
+ "\"" + *it + "\"";
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, command.c_str()
<< std::endl);