summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestCoverageHandler.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-03-09 16:19:56 (GMT)
committerBrad King <brad.king@kitware.com>2009-03-09 16:19:56 (GMT)
commit1d96c943e0d029c4ad0b98d5a08e34f54ed8a8e5 (patch)
treeca4a1a4510666c516a3e77e9613793a0272a6dec /Source/CTest/cmCTestCoverageHandler.h
parenta86e81c3589d64a2a777b1b90490cb80b951d983 (diff)
downloadCMake-1d96c943e0d029c4ad0b98d5a08e34f54ed8a8e5.zip
CMake-1d96c943e0d029c4ad0b98d5a08e34f54ed8a8e5.tar.gz
CMake-1d96c943e0d029c4ad0b98d5a08e34f54ed8a8e5.tar.bz2
ENH: Efficiently filter CTest coverage by label
This teaches CTest to process coverage information only for object files in targets containing labels of interest. This change also improves loading of global coverage information by globbing only in each target support directory instead of the entire build tree.
Diffstat (limited to 'Source/CTest/cmCTestCoverageHandler.h')
-rw-r--r--Source/CTest/cmCTestCoverageHandler.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/CTest/cmCTestCoverageHandler.h b/Source/CTest/cmCTestCoverageHandler.h
index 46bcec1..c58b6ab 100644
--- a/Source/CTest/cmCTestCoverageHandler.h
+++ b/Source/CTest/cmCTestCoverageHandler.h
@@ -61,6 +61,7 @@ private:
//! Handle coverage using GCC's GCov
int HandleGCovCoverage(cmCTestCoverageHandlerContainer* cont);
+ void FindGCovFiles(std::vector<std::string>& files);
//! Handle coverage using Bullseye
int HandleBullseyeCoverage(cmCTestCoverageHandlerContainer* cont);
@@ -145,6 +146,7 @@ private:
class LabelSet: public std::set<int> {};
typedef std::map<cmStdString, LabelSet> LabelMapType;
LabelMapType SourceLabels;
+ LabelMapType TargetDirs;
// Map from label name to label id.
typedef std::map<cmStdString, int> LabelIdMapType;
@@ -159,6 +161,7 @@ private:
// Label-based filtering.
std::set<int> LabelFilter;
+ bool IntersectsFilter(LabelSet const& labels);
bool IsFilteredOut(std::string const& source);
};