summaryrefslogtreecommitdiffstats
path: root/Source/cmCommand.cxx
diff options
context:
space:
mode:
authorDaniel Pfeifer <daniel@pfeifer-mail.de>2016-12-26 09:38:36 (GMT)
committerRegina Pfeifer <regina@mailbox.org>2019-07-21 07:25:32 (GMT)
commit1eebc2956321c2e7da00a5d35e207bedb899c804 (patch)
treea8c98c7349a686061cb035e8859e8925bc79c458 /Source/cmCommand.cxx
parent82aa6941e9b292d95820b5723b4dcc8b70fbb417 (diff)
downloadCMake-1eebc2956321c2e7da00a5d35e207bedb899c804.zip
CMake-1eebc2956321c2e7da00a5d35e207bedb899c804.tar.gz
CMake-1eebc2956321c2e7da00a5d35e207bedb899c804.tar.bz2
cmCommand: deprecate functions GetMakefile and SetError
Replace the members for the Makefile and the Error with a cmExecutionStatus. Re-implement GetMakefile and SetError based on that. Both functions should be called directly on the cmExecutionStatus that is passed to InitialPass. This will help us make all Commands immutable and remove the need for cloning.
Diffstat (limited to 'Source/cmCommand.cxx')
-rw-r--r--Source/cmCommand.cxx18
1 files changed, 8 insertions, 10 deletions
diff --git a/Source/cmCommand.cxx b/Source/cmCommand.cxx
index d349c91..99bdd1e 100644
--- a/Source/cmCommand.cxx
+++ b/Source/cmCommand.cxx
@@ -2,11 +2,17 @@
file Copyright.txt or https://cmake.org/licensing for details. */
#include "cmCommand.h"
+#include "cmExecutionStatus.h"
#include "cmMakefile.h"
-class cmExecutionStatus;
struct cmListFileArgument;
+void cmCommand::SetExecutionStatus(cmExecutionStatus* status)
+{
+ this->Status = status;
+ this->Makefile = &status->GetMakefile();
+}
+
bool cmCommand::InvokeInitialPass(const std::vector<cmListFileArgument>& args,
cmExecutionStatus& status)
{
@@ -19,15 +25,7 @@ bool cmCommand::InvokeInitialPass(const std::vector<cmListFileArgument>& args,
return this->InitialPass(expandedArguments, status);
}
-const char* cmCommand::GetError()
-{
- if (this->Error.empty()) {
- return "unknown error.";
- }
- return this->Error.c_str();
-}
-
void cmCommand::SetError(const std::string& e)
{
- this->Error = e;
+ this->Status->SetError(e);
}