https://github.com/Kitware/CMake
Raw File
Tip revision: 84df4a49500e51ac6e2a19a77e385e66234386f7 authored by Brad King on 06 February 2017, 19:37:07 UTC
Merge branch 'FeatureSummary-doc-cleanup' into release
Tip revision: 84df4a4
cmCommand.cxx
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
#include "cmCommand.h"

#include "cmMakefile.h"
#include "cmake.h"

class cmExecutionStatus;
struct cmListFileArgument;

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;
}
back to top