From b316d0d417761dc16d6d7b6ae41ac56b4509b949 Mon Sep 17 00:00:00 2001 From: Gabor Bencze Date: Sun, 4 Aug 2019 19:11:41 +0200 Subject: cmCommand refactor: cmSiteNameCommand --- Source/cmCommands.cxx | 2 +- Source/cmSiteNameCommand.cxx | 15 +++++++-------- Source/cmSiteNameCommand.h | 26 +++----------------------- 3 files changed, 11 insertions(+), 32 deletions(-) diff --git a/Source/cmCommands.cxx b/Source/cmCommands.cxx index da266c3..560c4cc 100644 --- a/Source/cmCommands.cxx +++ b/Source/cmCommands.cxx @@ -159,7 +159,7 @@ void GetScriptingCommands(cmState* state) cm::make_unique()); state->AddBuiltinCommand("set_property", cm::make_unique()); - state->AddBuiltinCommand("site_name", cm::make_unique()); + state->AddBuiltinCommand("site_name", cmSiteNameCommand); state->AddBuiltinCommand("string", cm::make_unique()); state->AddBuiltinCommand("unset", cm::make_unique()); state->AddBuiltinCommand("while", cmWhileCommand); diff --git a/Source/cmSiteNameCommand.cxx b/Source/cmSiteNameCommand.cxx index 61ede29..d47f121 100644 --- a/Source/cmSiteNameCommand.cxx +++ b/Source/cmSiteNameCommand.cxx @@ -4,19 +4,18 @@ #include "cmsys/RegularExpression.hxx" +#include "cmExecutionStatus.h" #include "cmMakefile.h" #include "cmStateTypes.h" #include "cmStringAlgorithms.h" #include "cmSystemTools.h" -class cmExecutionStatus; - // cmSiteNameCommand -bool cmSiteNameCommand::InitialPass(std::vector const& args, - cmExecutionStatus&) +bool cmSiteNameCommand(std::vector 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; } std::vector paths; @@ -27,12 +26,12 @@ bool cmSiteNameCommand::InitialPass(std::vector const& args, paths.emplace_back("/sbin"); paths.emplace_back("/usr/local/bin"); - const char* cacheValue = this->Makefile->GetDefinition(args[0]); + const char* cacheValue = status.GetMakefile().GetDefinition(args[0]); if (cacheValue) { return true; } - const char* temp = this->Makefile->GetDefinition("HOSTNAME"); + const char* temp = status.GetMakefile().GetDefinition("HOSTNAME"); std::string hostname_cmd; if (temp) { hostname_cmd = temp; @@ -72,7 +71,7 @@ bool cmSiteNameCommand::InitialPass(std::vector const& args, } } #endif - this->Makefile->AddCacheDefinition( + status.GetMakefile().AddCacheDefinition( args[0], siteName.c_str(), "Name of the computer/site where compile is being run", cmStateEnums::STRING); diff --git a/Source/cmSiteNameCommand.h b/Source/cmSiteNameCommand.h index 0190abb..e8fc608 100644 --- a/Source/cmSiteNameCommand.h +++ b/Source/cmSiteNameCommand.h @@ -8,34 +8,14 @@ #include #include -#include "cm_memory.hxx" - -#include "cmCommand.h" - class cmExecutionStatus; -/** \class cmSiteNameCommand +/** * \brief site_name command * * cmSiteNameCommand implements the site_name CMake command */ -class cmSiteNameCommand : public cmCommand -{ -public: - /** - * This is a virtual constructor for the command. - */ - std::unique_ptr Clone() override - { - return cm::make_unique(); - } - - /** - * This is called when the command is first encountered in - * the CMakeLists.txt file. - */ - bool InitialPass(std::vector const& args, - cmExecutionStatus& status) override; -}; +bool cmSiteNameCommand(std::vector const& args, + cmExecutionStatus& status); #endif -- cgit v0.12