From 256947ed08cbcbd82bd80fa58630f272c398f6ef Mon Sep 17 00:00:00 2001 From: Ken Martin Date: Fri, 12 Dec 2003 08:09:05 -0500 Subject: now can do extra updates --- Source/cmCTest.cxx | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index 37f1c3f..30511d3 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx @@ -2666,15 +2666,33 @@ int cmCTest::RunConfigurationScript() if (cvsCmd) { command = cvsCmd; - output.empty(); - retVal = 0; - res = cmSystemTools::RunSingleCommand(command.c_str(), &output, - &retVal, binDir, - m_Verbose, 0 /*m_TimeOut*/); - if (!res || retVal != 0) + char updateVar[40]; + int i; + for (i = 1; i < 10; ++i) { - cmSystemTools::Error("Unable to perform cvs update"); - return -5; + sprintf(updateVar,"CTEST_EXTRA_UPDATES_%i",i); + const char *updateVal = mf->GetDefinition(updateVar); + if (updateVal) + { + std::vector cvsArgs; + cmSystemTools::ExpandListArgument(updateVal,cvsArgs); + if (cvsArgs.size() == 2) + { + std::string fullCommand = command; + fullCommand += " update "; + fullCommand += cvsArgs[1]; + output.empty(); + retVal = 0; + res = cmSystemTools::RunSingleCommand(fullCommand.c_str(), &output, + &retVal, cvsArgs[0].c_str(), + m_Verbose, 0 /*m_TimeOut*/); + if (!res || retVal != 0) + { + cmSystemTools::Error("Unable to perform extra cvs updates"); + return -5; + } + } + } } } -- cgit v0.12