diff options
author | Daniel Pfeifer <daniel@pfeifer-mail.de> | 2016-12-25 23:34:44 (GMT) |
---|---|---|
committer | Daniel Pfeifer <daniel@pfeifer-mail.de> | 2017-02-13 20:37:08 (GMT) |
commit | 7fb14775a3cce73dc0cb0d759b96059a95f7104b (patch) | |
tree | 586ed2e3f7d5a89bb1920bee3c54b94362d797e3 /Source/cmDisallowedCommand.cxx | |
parent | 615e2a17e499b2bd53cce8da1a0cfae36d67b24a (diff) | |
download | CMake-7fb14775a3cce73dc0cb0d759b96059a95f7104b.zip CMake-7fb14775a3cce73dc0cb0d759b96059a95f7104b.tar.gz CMake-7fb14775a3cce73dc0cb0d759b96059a95f7104b.tar.bz2 |
cmDisallowedCommand: extract policy checking from cmCommand
Implement cmDisallowedCommand as a wrapper class for cmCommand.
Diffstat (limited to 'Source/cmDisallowedCommand.cxx')
-rw-r--r-- | Source/cmDisallowedCommand.cxx | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Source/cmDisallowedCommand.cxx b/Source/cmDisallowedCommand.cxx new file mode 100644 index 0000000..ce1965d --- /dev/null +++ b/Source/cmDisallowedCommand.cxx @@ -0,0 +1,31 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#include "cmDisallowedCommand.h" + +#include "cmMakefile.h" +#include "cmake.h" + +class cmExecutionStatus; + +bool cmDisallowedCommand::InitialPass(std::vector<std::string> const& args, + cmExecutionStatus& status) +{ + switch (this->Makefile->GetPolicyStatus(this->Policy)) { + case cmPolicies::WARN: + this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, + cmPolicies::GetPolicyWarning(this->Policy)); + break; + case cmPolicies::OLD: + break; + case cmPolicies::REQUIRED_IF_USED: + case cmPolicies::REQUIRED_ALWAYS: + case cmPolicies::NEW: + this->Makefile->IssueMessage(cmake::FATAL_ERROR, this->Message); + return true; + } + + this->Command->SetMakefile(this->GetMakefile()); + bool const ret = this->Command->InitialPass(args, status); + this->SetError(this->Command->GetError()); + return ret; +} |