diff options
author | Zach Mullen <zach.mullen@kitware.com> | 2010-03-01 16:00:23 (GMT) |
---|---|---|
committer | Zach Mullen <zach.mullen@kitware.com> | 2010-03-01 16:06:28 (GMT) |
commit | 09e748c69a31e54ad4ceb16229f4caa987d61d3b (patch) | |
tree | a85c7c37878e56ffdd18a8346c94ad7f6d6a76a9 /Source | |
parent | 370e5b942513abd93cbd2d486a0627ccb47267af (diff) | |
download | CMake-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.cxx | 8 | ||||
-rw-r--r-- | Source/cmCTest.cxx | 11 | ||||
-rw-r--r-- | Source/cmCTest.h | 2 |
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; |