diff options
author | Gabor Bencze <b.gabor98@gmail.com> | 2019-08-09 09:56:34 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-08-20 18:42:20 (GMT) |
commit | 07ea93de5447e0bc20b4632fa61d965c02876cc8 (patch) | |
tree | 0202088867f5f93d129626482ca8cb37f5ed9326 | |
parent | ca3b9186bb0830b26765bd764d5d9d69cf93e33d (diff) | |
download | CMake-07ea93de5447e0bc20b4632fa61d965c02876cc8.zip CMake-07ea93de5447e0bc20b4632fa61d965c02876cc8.tar.gz CMake-07ea93de5447e0bc20b4632fa61d965c02876cc8.tar.bz2 |
cmCommand refactor: cmWriteFileCommand
-rw-r--r-- | Source/cmCommands.cxx | 3 | ||||
-rw-r--r-- | Source/cmWriteFileCommand.cxx | 15 | ||||
-rw-r--r-- | Source/cmWriteFileCommand.h | 26 |
3 files changed, 11 insertions, 33 deletions
diff --git a/Source/cmCommands.cxx b/Source/cmCommands.cxx index 0fa2529..6f6ca50 100644 --- a/Source/cmCommands.cxx +++ b/Source/cmCommands.cxx @@ -204,8 +204,7 @@ void GetScriptingCommands(cmState* state) cmCMakeHostSystemInformationCommand); state->AddBuiltinCommand("remove", cmRemoveCommand); state->AddBuiltinCommand("variable_watch", cmVariableWatchCommand); - state->AddBuiltinCommand("write_file", - cm::make_unique<cmWriteFileCommand>()); + state->AddBuiltinCommand("write_file", cmWriteFileCommand); state->AddDisallowedCommand( "build_name", cm::make_unique<cmBuildNameCommand>(), cmPolicies::CMP0036, diff --git a/Source/cmWriteFileCommand.cxx b/Source/cmWriteFileCommand.cxx index 49dbf1a..63af65d 100644 --- a/Source/cmWriteFileCommand.cxx +++ b/Source/cmWriteFileCommand.cxx @@ -4,18 +4,17 @@ #include "cmsys/FStream.hxx" +#include "cmExecutionStatus.h" #include "cmMakefile.h" #include "cmSystemTools.h" #include "cm_sys_stat.h" -class cmExecutionStatus; - // cmLibraryCommand -bool cmWriteFileCommand::InitialPass(std::vector<std::string> const& args, - cmExecutionStatus&) +bool cmWriteFileCommand(std::vector<std::string> const& args, + cmExecutionStatus& status) { if (args.size() < 2) { - this->SetError("called with incorrect number of arguments"); + status.SetError("called with incorrect number of arguments"); return false; } std::string message; @@ -33,10 +32,10 @@ bool cmWriteFileCommand::InitialPass(std::vector<std::string> const& args, } } - if (!this->Makefile->CanIWriteThisFile(fileName)) { + if (!status.GetMakefile().CanIWriteThisFile(fileName)) { std::string e = "attempted to write a file: " + fileName + " into a source directory."; - this->SetError(e); + status.SetError(e); cmSystemTools::SetFatalErrorOccured(); return false; } @@ -68,7 +67,7 @@ bool cmWriteFileCommand::InitialPass(std::vector<std::string> const& args, std::string error = "Internal CMake error when trying to open file: "; error += fileName; error += " for writing."; - this->SetError(error); + status.SetError(error); return false; } file << message << std::endl; diff --git a/Source/cmWriteFileCommand.h b/Source/cmWriteFileCommand.h index 3961898..3e0e043 100644 --- a/Source/cmWriteFileCommand.h +++ b/Source/cmWriteFileCommand.h @@ -8,33 +8,13 @@ #include <string> #include <vector> -#include "cm_memory.hxx" - -#include "cmCommand.h" - class cmExecutionStatus; -/** \class cmWriteFileCommand +/** * \brief Writes a message to a file * */ -class cmWriteFileCommand : public cmCommand -{ -public: - /** - * This is a virtual constructor for the command. - */ - std::unique_ptr<cmCommand> Clone() override - { - return cm::make_unique<cmWriteFileCommand>(); - } - - /** - * This is called when the command is first encountered in - * the CMakeLists.txt file. - */ - bool InitialPass(std::vector<std::string> const& args, - cmExecutionStatus& status) override; -}; +bool cmWriteFileCommand(std::vector<std::string> const& args, + cmExecutionStatus& status); #endif |