| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /* 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 <utility>
- #include "cmExecutionStatus.h"
- #include "cmMakefile.h"
- struct cmListFileArgument;
- void cmCommand::SetExecutionStatus(cmExecutionStatus* status)
- {
- this->Status = status;
- this->Makefile = &status->GetMakefile();
- }
- 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);
- }
- void cmCommand::SetError(const std::string& e)
- {
- this->Status->SetError(e);
- }
- cmLegacyCommandWrapper::cmLegacyCommandWrapper(std::unique_ptr<cmCommand> cmd)
- : Command(std::move(cmd))
- {
- }
- cmLegacyCommandWrapper::cmLegacyCommandWrapper(
- cmLegacyCommandWrapper const& other)
- : Command(other.Command->Clone())
- {
- }
- cmLegacyCommandWrapper& cmLegacyCommandWrapper::operator=(
- cmLegacyCommandWrapper const& other)
- {
- this->Command = other.Command->Clone();
- return *this;
- }
- bool cmLegacyCommandWrapper::operator()(
- std::vector<cmListFileArgument> const& args, cmExecutionStatus& status) const
- {
- auto cmd = this->Command->Clone();
- cmd->SetExecutionStatus(&status);
- return cmd->InvokeInitialPass(args, status);
- }
|