diff options
author | Daniel Pfeifer <daniel@pfeifer-mail.de> | 2016-10-19 22:29:18 (GMT) |
---|---|---|
committer | Daniel Pfeifer <daniel@pfeifer-mail.de> | 2016-10-21 16:14:51 (GMT) |
commit | 6c9b3b5c03b41842d3d79c1bd80691be7e5c6f89 (patch) | |
tree | 2a3d630a70a3e5d6eeef5dc99847d51bcedd8589 | |
parent | 8483dab8e16b9734ac7d2b90b95d474ce8502e40 (diff) | |
download | CMake-6c9b3b5c03b41842d3d79c1bd80691be7e5c6f89.zip CMake-6c9b3b5c03b41842d3d79c1bd80691be7e5c6f89.tar.gz CMake-6c9b3b5c03b41842d3d79c1bd80691be7e5c6f89.tar.bz2 |
cmCommand: implement functions in cxx file
-rw-r--r-- | Source/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Source/cmCommand.cxx | 48 | ||||
-rw-r--r-- | Source/cmCommand.h | 48 | ||||
-rwxr-xr-x | bootstrap | 1 |
4 files changed, 57 insertions, 42 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index b2617ae..09c0acf 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -386,6 +386,8 @@ set(SRCS cmake.cxx cmake.h + cmCommand.cxx + cmCommand.h cmCommands.cxx cmCommands.h cmAddCompileOptionsCommand.cxx diff --git a/Source/cmCommand.cxx b/Source/cmCommand.cxx new file mode 100644 index 0000000..3c839de --- /dev/null +++ b/Source/cmCommand.cxx @@ -0,0 +1,48 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#include "cmCommand.h" + +bool cmCommand::InvokeInitialPass(const std::vector<cmListFileArgument>& args, + cmExecutionStatus& status) +{ + std::vector<std::string> expandedArguments; + if (!this->Makefile->ExpandArguments(args, expandedArguments)) { + // There was an error expanding arguments. It was already + // reported, so we can skip this command without error. + return true; + } + return this->InitialPass(expandedArguments, status); +} + +const char* cmCommand::GetError() +{ + if (this->Error.empty()) { + this->Error = this->GetName(); + this->Error += " unknown error."; + } + return this->Error.c_str(); +} + +void cmCommand::SetError(const std::string& e) +{ + this->Error = this->GetName(); + this->Error += " "; + this->Error += e; +} + +bool cmCommand::Disallowed(cmPolicies::PolicyID pol, const char* e) +{ + switch (this->Makefile->GetPolicyStatus(pol)) { + case cmPolicies::WARN: + this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, + cmPolicies::GetPolicyWarning(pol)); + case cmPolicies::OLD: + return false; + case cmPolicies::REQUIRED_IF_USED: + case cmPolicies::REQUIRED_ALWAYS: + case cmPolicies::NEW: + this->Makefile->IssueMessage(cmake::FATAL_ERROR, e); + break; + } + return true; +} diff --git a/Source/cmCommand.h b/Source/cmCommand.h index d8e337d..9299c71 100644 --- a/Source/cmCommand.h +++ b/Source/cmCommand.h @@ -28,9 +28,9 @@ public: * Construct the command. By default it is enabled with no makefile. */ cmCommand() + : Makefile(CM_NULLPTR) + , Enabled(true) { - this->Makefile = CM_NULLPTR; - this->Enabled = true; } /** @@ -50,16 +50,7 @@ public: * arguments and then invokes the InitialPass. */ virtual bool InvokeInitialPass(const std::vector<cmListFileArgument>& args, - cmExecutionStatus& status) - { - std::vector<std::string> expandedArguments; - if (!this->Makefile->ExpandArguments(args, expandedArguments)) { - // There was an error expanding arguments. It was already - // reported, so we can skip this command without error. - return true; - } - return this->InitialPass(expandedArguments, status); - } + cmExecutionStatus& status); /** * This is called when the command is first encountered in @@ -127,42 +118,15 @@ public: /** * Return the last error string. */ - const char* GetError() - { - if (this->Error.empty()) { - this->Error = this->GetName(); - this->Error += " unknown error."; - } - return this->Error.c_str(); - } + const char* GetError(); /** * Set the error message */ - void SetError(const std::string& e) - { - this->Error = this->GetName(); - this->Error += " "; - this->Error += e; - } + void SetError(const std::string& e); /** Check if the command is disallowed by a policy. */ - bool Disallowed(cmPolicies::PolicyID pol, const char* e) - { - switch (this->Makefile->GetPolicyStatus(pol)) { - case cmPolicies::WARN: - this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, - cmPolicies::GetPolicyWarning(pol)); - case cmPolicies::OLD: - return false; - case cmPolicies::REQUIRED_IF_USED: - case cmPolicies::REQUIRED_ALWAYS: - case cmPolicies::NEW: - this->Makefile->IssueMessage(cmake::FATAL_ERROR, e); - break; - } - return true; - } + bool Disallowed(cmPolicies::PolicyID pol, const char* e); protected: cmMakefile* Makefile; @@ -254,6 +254,7 @@ CMAKE_CXX_SOURCES="\ cmCMakePolicyCommand \ cmCPackPropertiesGenerator \ cmCacheManager \ + cmCommand \ cmCommandArgumentLexer \ cmCommandArgumentParser \ cmCommandArgumentParserHelper \ |