Bläddra i källkod

CTest: Implement message(STATUS) output for 'ctest -S' scripts

Send status messages to the CTest HANDLER_OUTPUT log since they are part
of the script handler output.  This also ensures they appear inline with
other test command handler output.
Brad King 11 år sedan
förälder
incheckning
f33d875a84
1 ändrade filer med 11 tillägg och 0 borttagningar
  1. 11 0
      Source/CTest/cmCTestScriptHandler.cxx

+ 11 - 0
Source/CTest/cmCTestScriptHandler.cxx

@@ -317,6 +317,15 @@ int cmCTestScriptHandler::ExecuteScript(const std::string& total_script_arg)
   return retVal;
 }
 
+static void ctestScriptProgressCallback(const char *m, float, void* cd)
+{
+  cmCTest* ctest = static_cast<cmCTest*>(cd);
+  if(m && *m)
+    {
+    cmCTestLog(ctest, HANDLER_OUTPUT, "-- " << m << std::endl);
+    }
+}
+
 void cmCTestScriptHandler::CreateCMake()
 {
   // create a cmake instance to read the configuration script
@@ -334,6 +343,8 @@ void cmCTestScriptHandler::CreateCMake()
   this->LocalGenerator = this->GlobalGenerator->CreateLocalGenerator();
   this->Makefile = this->LocalGenerator->GetMakefile();
 
+  this->CMake->SetProgressCallback(ctestScriptProgressCallback, this->CTest);
+
   // Set CMAKE_CURRENT_SOURCE_DIR and CMAKE_CURRENT_BINARY_DIR.
   // Also, some commands need Makefile->GetCurrentDirectory().
   std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();