Browse Source

cmCommand: Don't prefix error message with command name

Instead, prefix the error message at the two places where the errors are
handled: cmMakefile and cmCTestHandlerCommand.
Daniel Pfeifer 8 years ago
parent
commit
615e2a17e4
3 changed files with 6 additions and 8 deletions
  1. 2 2
      Source/CTest/cmCTestHandlerCommand.cxx
  2. 2 5
      Source/cmCommand.cxx
  3. 2 1
      Source/cmMakefile.cxx

+ 2 - 2
Source/CTest/cmCTestHandlerCommand.cxx

@@ -123,8 +123,8 @@ bool cmCTestHandlerCommand::InitialPass(std::vector<std::string> const& args,
     if (capureCMakeError) {
       this->Makefile->AddDefinition(this->Values[ct_CAPTURE_CMAKE_ERROR],
                                     "-1");
-      const char* err = this->GetError();
-      if (err && !cmSystemTools::FindLastString(err, "unknown error.")) {
+      std::string const err = this->GetName() + " " + this->GetError();
+      if (!cmSystemTools::FindLastString(err.c_str(), "unknown error.")) {
         cmCTestLog(this->CTest, ERROR_MESSAGE, err << " error from command\n");
       }
       // return success because failure is recorded in CAPTURE_CMAKE_ERROR

+ 2 - 5
Source/cmCommand.cxx

@@ -23,17 +23,14 @@ bool cmCommand::InvokeInitialPass(const std::vector<cmListFileArgument>& args,
 const char* cmCommand::GetError()
 {
   if (this->Error.empty()) {
-    this->Error = this->GetName();
-    this->Error += " unknown error.";
+    return "unknown error.";
   }
   return this->Error.c_str();
 }
 
 void cmCommand::SetError(const std::string& e)
 {
-  this->Error = this->GetName();
-  this->Error += " ";
-  this->Error += e;
+  this->Error = e;
 }
 
 bool cmCommand::Disallowed(cmPolicies::PolicyID pol, const char* e)

+ 2 - 1
Source/cmMakefile.cxx

@@ -281,7 +281,8 @@ bool cmMakefile::ExecuteCommand(const cmListFileFunction& lff,
       if (!invokeSucceeded || hadNestedError) {
         if (!hadNestedError) {
           // The command invocation requested that we report an error.
-          this->IssueMessage(cmake::FATAL_ERROR, pcmd->GetError());
+          std::string const error = name + " " + pcmd->GetError();
+          this->IssueMessage(cmake::FATAL_ERROR, error);
         }
         result = false;
         if (this->GetCMakeInstance()->GetWorkingMode() != cmake::NORMAL_MODE) {