summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorZach Mullen <zach.mullen@kitware.com>2010-03-01 16:00:23 (GMT)
committerZach Mullen <zach.mullen@kitware.com>2010-03-01 16:06:28 (GMT)
commit09e748c69a31e54ad4ceb16229f4caa987d61d3b (patch)
treea85c7c37878e56ffdd18a8346c94ad7f6d6a76a9 /Source
parent370e5b942513abd93cbd2d486a0627ccb47267af (diff)
downloadCMake-09e748c69a31e54ad4ceb16229f4caa987d61d3b.zip
CMake-09e748c69a31e54ad4ceb16229f4caa987d61d3b.tar.gz
CMake-09e748c69a31e54ad4ceb16229f4caa987d61d3b.tar.bz2
Configurable path to CTest cost data file
Allow the user to set the CMake variable CTEST_COST_DATA_FILE, which will be used to store the cost data from test runs. If not set, defaults to the original location in the build tree Testing/Temporary dir.
Diffstat (limited to 'Source')
-rw-r--r--Source/CTest/cmCTestMultiProcessHandler.cxx8
-rw-r--r--Source/cmCTest.cxx11
-rw-r--r--Source/cmCTest.h2
3 files changed, 16 insertions, 5 deletions
diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx
index 02974a2..31aff8b 100644
--- a/Source/CTest/cmCTestMultiProcessHandler.cxx
+++ b/Source/CTest/cmCTestMultiProcessHandler.cxx
@@ -283,8 +283,7 @@ bool cmCTestMultiProcessHandler::CheckOutput()
//---------------------------------------------------------
void cmCTestMultiProcessHandler::UpdateCostData()
{
- std::string fname = this->CTest->GetBinaryDir()
- + "/Testing/Temporary/CTestCostData.txt";
+ std::string fname = this->CTest->GetCostDataFile();
std::string tmpout = fname + ".tmp";
std::fstream fout;
fout.open(tmpout.c_str(), std::ios::out);
@@ -339,9 +338,8 @@ void cmCTestMultiProcessHandler::UpdateCostData()
//---------------------------------------------------------
void cmCTestMultiProcessHandler::ReadCostData()
{
- //TODO variable location of the cost data file
- std::string fname = this->CTest->GetBinaryDir()
- + "/Testing/Temporary/CTestCostData.txt";
+ std::string fname = this->CTest->GetCostDataFile();
+
if(cmSystemTools::FileExists(fname.c_str(), true))
{
std::ifstream fin;
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 7b25f8e..e417e1b 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -154,6 +154,17 @@ std::string cmCTest::CurrentTime()
return cmXMLSafe(cmCTest::CleanString(current_time)).str();
}
+//----------------------------------------------------------------------
+std::string cmCTest::GetCostDataFile()
+{
+ std::string fname = this->GetCTestConfiguration("CostDataFile");
+ if(fname == "")
+ {
+ fname= this->GetBinaryDir() + "/Testing/Temporary/CTestCostData.txt";
+ }
+ return fname;
+}
+
#ifdef CMAKE_BUILD_WITH_CMAKE
//----------------------------------------------------------------------------
static size_t
diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index 8621b10..adf359c 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -398,6 +398,8 @@ public:
{ this->StreamOut = out; this->StreamErr = err; }
void AddSiteProperties(std::ostream& );
bool GetLabelSummary() { return this->LabelSummary;}
+
+ std::string GetCostDataFile();
private:
std::string ConfigType;
std::string ScheduleType;