diff options
author | Gabor Bencze <b.gabor98@gmail.com> | 2019-08-04 15:13:14 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-08-20 18:42:19 (GMT) |
commit | 5b40a872dd2d50e2c72c76df79ce087403daa37d (patch) | |
tree | 83c30e9b3c202fefb383c4811a2d7640f6ba6a36 | |
parent | e0b7ff4af2a8f5a2c2f746c0976cd22367212c8a (diff) | |
download | CMake-5b40a872dd2d50e2c72c76df79ce087403daa37d.zip CMake-5b40a872dd2d50e2c72c76df79ce087403daa37d.tar.gz CMake-5b40a872dd2d50e2c72c76df79ce087403daa37d.tar.bz2 |
cmCommand refactor: cmMakeDirectoryCommand
-rw-r--r-- | Source/cmCommands.cxx | 3 | ||||
-rw-r--r-- | Source/cmMakeDirectoryCommand.cxx | 13 | ||||
-rw-r--r-- | Source/cmMakeDirectoryCommand.h | 26 |
3 files changed, 10 insertions, 32 deletions
diff --git a/Source/cmCommands.cxx b/Source/cmCommands.cxx index 285c48e..e50f1a0 100644 --- a/Source/cmCommands.cxx +++ b/Source/cmCommands.cxx @@ -146,8 +146,7 @@ void GetScriptingCommands(cmState* state) state->AddBuiltinCommand("include_guard", cmIncludeGuardCommand); state->AddBuiltinCommand("list", cmListCommand); state->AddBuiltinCommand("macro", cmMacroCommand); - state->AddBuiltinCommand("make_directory", - cm::make_unique<cmMakeDirectoryCommand>()); + state->AddBuiltinCommand("make_directory", cmMakeDirectoryCommand); state->AddBuiltinCommand("mark_as_advanced", cm::make_unique<cmMarkAsAdvancedCommand>()); state->AddBuiltinCommand("math", cm::make_unique<cmMathCommand>()); diff --git a/Source/cmMakeDirectoryCommand.cxx b/Source/cmMakeDirectoryCommand.cxx index aff4ca6..cdde6f9 100644 --- a/Source/cmMakeDirectoryCommand.cxx +++ b/Source/cmMakeDirectoryCommand.cxx @@ -2,23 +2,22 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmMakeDirectoryCommand.h" +#include "cmExecutionStatus.h" #include "cmMakefile.h" #include "cmSystemTools.h" -class cmExecutionStatus; - // cmMakeDirectoryCommand -bool cmMakeDirectoryCommand::InitialPass(std::vector<std::string> const& args, - cmExecutionStatus&) +bool cmMakeDirectoryCommand(std::vector<std::string> const& args, + cmExecutionStatus& status) { if (args.size() != 1) { - this->SetError("called with incorrect number of arguments"); + status.SetError("called with incorrect number of arguments"); return false; } - if (!this->Makefile->CanIWriteThisFile(args[0])) { + if (!status.GetMakefile().CanIWriteThisFile(args[0])) { std::string e = "attempted to create a directory: " + args[0] + " into a source directory."; - this->SetError(e); + status.SetError(e); cmSystemTools::SetFatalErrorOccured(); return false; } diff --git a/Source/cmMakeDirectoryCommand.h b/Source/cmMakeDirectoryCommand.h index b1fb49b..2474383 100644 --- a/Source/cmMakeDirectoryCommand.h +++ b/Source/cmMakeDirectoryCommand.h @@ -8,13 +8,9 @@ #include <string> #include <vector> -#include "cm_memory.hxx" - -#include "cmCommand.h" - class cmExecutionStatus; -/** \class cmMakeDirectoryCommand +/** * \brief Specify auxiliary source code directories. * * cmMakeDirectoryCommand specifies source code directories @@ -23,23 +19,7 @@ class cmExecutionStatus; * A side effect of this command is to create a subdirectory in the build * directory structure. */ -class cmMakeDirectoryCommand : public cmCommand -{ -public: - /** - * This is a virtual constructor for the command. - */ - std::unique_ptr<cmCommand> Clone() override - { - return cm::make_unique<cmMakeDirectoryCommand>(); - } - - /** - * 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 cmMakeDirectoryCommand(std::vector<std::string> const& args, + cmExecutionStatus& status); #endif |