From 5e54b0cf2f9706c731d9c188274ac2493587e86f Mon Sep 17 00:00:00 2001 From: Vitaly Stakhovsky Date: Tue, 21 Jan 2020 11:00:00 -0500 Subject: cmInstallGenerator: std::string params Several construction parameters converted to std::string Also made a few class members const --- Source/cmInstallCommand.cxx | 16 ++++++++-------- Source/cmInstallDirectoryGenerator.cxx | 4 ++-- Source/cmInstallDirectoryGenerator.h | 3 ++- Source/cmInstallExportGenerator.cxx | 4 ++-- Source/cmInstallFilesGenerator.cxx | 4 ++-- Source/cmInstallGenerator.cxx | 15 ++++++++------- Source/cmInstallGenerator.h | 14 +++++++------- Source/cmInstallScriptGenerator.cxx | 9 ++++----- Source/cmInstallScriptGenerator.h | 3 ++- Source/cmInstallSubdirectoryGenerator.cxx | 4 ++-- Source/cmInstallTargetGenerator.cxx | 4 ++-- Source/cmLocalGenerator.cxx | 4 ++-- Source/cmScriptGenerator.h | 2 +- 13 files changed, 44 insertions(+), 42 deletions(-) diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx index 5088379..c67358f 100644 --- a/Source/cmInstallCommand.cxx +++ b/Source/cmInstallCommand.cxx @@ -196,14 +196,14 @@ bool HandleScriptMode(std::vector const& args, return false; } helper.Makefile->AddInstallGenerator( - cm::make_unique( - script, false, component.c_str(), exclude_from_all)); + cm::make_unique(script, false, component, + exclude_from_all)); } else if (doing_code) { doing_code = false; std::string const& code = arg; helper.Makefile->AddInstallGenerator( - cm::make_unique( - code, true, component.c_str(), exclude_from_all)); + cm::make_unique(code, true, component, + exclude_from_all)); } } @@ -942,7 +942,7 @@ bool HandleDirectoryMode(std::vector const& args, bool exclude_from_all = false; bool message_never = false; std::vector dirs; - const char* destination = nullptr; + const std::string* destination = nullptr; std::string permissions_file; std::string permissions_dir; std::vector configurations; @@ -1101,7 +1101,7 @@ bool HandleDirectoryMode(std::vector const& args, } else if (doing == DoingConfigurations) { configurations.push_back(args[i]); } else if (doing == DoingDestination) { - destination = args[i].c_str(); + destination = &args[i]; doing = DoingNone; } else if (doing == DoingType) { if (allowedTypes.count(args[i]) == 0) { @@ -1187,7 +1187,7 @@ bool HandleDirectoryMode(std::vector const& args, return false; } destinationStr = helper.GetDestinationForType(nullptr, type); - destination = destinationStr.c_str(); + destination = &destinationStr; } else if (!type.empty()) { status.SetError(cmStrCat(args[0], " given both TYPE and DESTINATION " @@ -1201,7 +1201,7 @@ bool HandleDirectoryMode(std::vector const& args, // Create the directory install generator. helper.Makefile->AddInstallGenerator( cm::make_unique( - dirs, destination, permissions_file, permissions_dir, configurations, + dirs, *destination, permissions_file, permissions_dir, configurations, component, message, exclude_from_all, literal_args, optional)); // Tell the global generator about any installation component names diff --git a/Source/cmInstallDirectoryGenerator.cxx b/Source/cmInstallDirectoryGenerator.cxx index 7e3148a..175e7cf 100644 --- a/Source/cmInstallDirectoryGenerator.cxx +++ b/Source/cmInstallDirectoryGenerator.cxx @@ -12,12 +12,12 @@ #include "cmSystemTools.h" cmInstallDirectoryGenerator::cmInstallDirectoryGenerator( - std::vector const& dirs, const char* dest, + std::vector const& dirs, std::string const& dest, std::string file_permissions, std::string dir_permissions, std::vector const& configurations, std::string const& component, MessageLevel message, bool exclude_from_all, std::string literal_args, bool optional) - : cmInstallGenerator(dest, configurations, component.c_str(), message, + : cmInstallGenerator(dest, configurations, component, message, exclude_from_all) , LocalGenerator(nullptr) , Directories(dirs) diff --git a/Source/cmInstallDirectoryGenerator.h b/Source/cmInstallDirectoryGenerator.h index e53e81c..bec89df 100644 --- a/Source/cmInstallDirectoryGenerator.h +++ b/Source/cmInstallDirectoryGenerator.h @@ -21,7 +21,8 @@ class cmInstallDirectoryGenerator : public cmInstallGenerator { public: cmInstallDirectoryGenerator(std::vector const& dirs, - const char* dest, std::string file_permissions, + std::string const& dest, + std::string file_permissions, std::string dir_permissions, std::vector const& configurations, std::string const& component, diff --git a/Source/cmInstallExportGenerator.cxx b/Source/cmInstallExportGenerator.cxx index ff32ef1..2c53a28 100644 --- a/Source/cmInstallExportGenerator.cxx +++ b/Source/cmInstallExportGenerator.cxx @@ -22,8 +22,8 @@ cmInstallExportGenerator::cmInstallExportGenerator( std::string file_permissions, std::vector const& configurations, std::string const& component, MessageLevel message, bool exclude_from_all, std::string filename, std::string name_space, bool exportOld, bool android) - : cmInstallGenerator(destination.c_str(), configurations, component.c_str(), - message, exclude_from_all) + : cmInstallGenerator(destination, configurations, component, message, + exclude_from_all) , ExportSet(exportSet) , FilePermissions(std::move(file_permissions)) , FileName(std::move(filename)) diff --git a/Source/cmInstallFilesGenerator.cxx b/Source/cmInstallFilesGenerator.cxx index e470ff8..ad2f84e 100644 --- a/Source/cmInstallFilesGenerator.cxx +++ b/Source/cmInstallFilesGenerator.cxx @@ -16,8 +16,8 @@ cmInstallFilesGenerator::cmInstallFilesGenerator( std::vector const& configurations, std::string const& component, MessageLevel message, bool exclude_from_all, std::string rename, bool optional) - : cmInstallGenerator(dest.c_str(), configurations, component.c_str(), - message, exclude_from_all) + : cmInstallGenerator(dest, configurations, component, message, + exclude_from_all) , LocalGenerator(nullptr) , Files(files) , FilePermissions(std::move(file_permissions)) diff --git a/Source/cmInstallGenerator.cxx b/Source/cmInstallGenerator.cxx index ec17361..0665895 100644 --- a/Source/cmInstallGenerator.cxx +++ b/Source/cmInstallGenerator.cxx @@ -3,16 +3,17 @@ #include "cmInstallGenerator.h" #include +#include #include "cmMakefile.h" #include "cmSystemTools.h" cmInstallGenerator::cmInstallGenerator( - const char* destination, std::vector const& configurations, - const char* component, MessageLevel message, bool exclude_from_all) + std::string destination, std::vector const& configurations, + std::string component, MessageLevel message, bool exclude_from_all) : cmScriptGenerator("CMAKE_INSTALL_CONFIG_NAME", configurations) - , Destination(destination ? destination : "") - , Component(component ? component : "") + , Destination(std::move(destination)) + , Component(std::move(component)) , Message(message) , ExcludeFromAll(exclude_from_all) { @@ -139,8 +140,8 @@ void cmInstallGenerator::AddInstallRule( os << ")\n"; } -std::string cmInstallGenerator::CreateComponentTest(const char* component, - bool exclude_from_all) +std::string cmInstallGenerator::CreateComponentTest( + const std::string& component, bool exclude_from_all) { std::string result = R"("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "x)"; result += component; @@ -158,7 +159,7 @@ void cmInstallGenerator::GenerateScript(std::ostream& os) // Begin this block of installation. std::string component_test = - this->CreateComponentTest(this->Component.c_str(), this->ExcludeFromAll); + this->CreateComponentTest(this->Component, this->ExcludeFromAll); os << indent << "if(" << component_test << ")\n"; // Generate the script possibly with per-configuration code. diff --git a/Source/cmInstallGenerator.h b/Source/cmInstallGenerator.h index 024027d..d786d24 100644 --- a/Source/cmInstallGenerator.h +++ b/Source/cmInstallGenerator.h @@ -30,9 +30,9 @@ public: MessageNever }; - cmInstallGenerator(const char* destination, + cmInstallGenerator(std::string destination, std::vector const& configurations, - const char* component, MessageLevel message, + std::string component, MessageLevel message, bool exclude_from_all); ~cmInstallGenerator() override; @@ -65,14 +65,14 @@ public: protected: void GenerateScript(std::ostream& os) override; - std::string CreateComponentTest(const char* component, + std::string CreateComponentTest(const std::string& component, bool exclude_from_all); // Information shared by most generator types. - std::string Destination; - std::string Component; - MessageLevel Message; - bool ExcludeFromAll; + std::string const Destination; + std::string const Component; + MessageLevel const Message; + bool const ExcludeFromAll; }; #endif diff --git a/Source/cmInstallScriptGenerator.cxx b/Source/cmInstallScriptGenerator.cxx index 77680d2..7cdf3b4 100644 --- a/Source/cmInstallScriptGenerator.cxx +++ b/Source/cmInstallScriptGenerator.cxx @@ -12,11 +12,10 @@ #include "cmPolicies.h" #include "cmScriptGenerator.h" -cmInstallScriptGenerator::cmInstallScriptGenerator(std::string script, - bool code, - const char* component, - bool exclude_from_all) - : cmInstallGenerator(nullptr, std::vector(), component, +cmInstallScriptGenerator::cmInstallScriptGenerator( + std::string script, bool code, std::string const& component, + bool exclude_from_all) + : cmInstallGenerator("", std::vector(), component, MessageDefault, exclude_from_all) , Script(std::move(script)) , Code(code) diff --git a/Source/cmInstallScriptGenerator.h b/Source/cmInstallScriptGenerator.h index d22c6ec..0a9c4ba 100644 --- a/Source/cmInstallScriptGenerator.h +++ b/Source/cmInstallScriptGenerator.h @@ -20,7 +20,8 @@ class cmInstallScriptGenerator : public cmInstallGenerator { public: cmInstallScriptGenerator(std::string script, bool code, - const char* component, bool exclude_from_all); + std::string const& component, + bool exclude_from_all); ~cmInstallScriptGenerator() override; bool Compute(cmLocalGenerator* lg) override; diff --git a/Source/cmInstallSubdirectoryGenerator.cxx b/Source/cmInstallSubdirectoryGenerator.cxx index 8b45972..12bc92b 100644 --- a/Source/cmInstallSubdirectoryGenerator.cxx +++ b/Source/cmInstallSubdirectoryGenerator.cxx @@ -15,8 +15,8 @@ cmInstallSubdirectoryGenerator::cmInstallSubdirectoryGenerator( cmMakefile* makefile, std::string binaryDirectory, bool excludeFromAll) - : cmInstallGenerator(nullptr, std::vector(), nullptr, - MessageDefault, excludeFromAll) + : cmInstallGenerator("", std::vector(), "", MessageDefault, + excludeFromAll) , Makefile(makefile) , BinaryDirectory(std::move(binaryDirectory)) { diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx index d2fc2ea..e05daa8 100644 --- a/Source/cmInstallTargetGenerator.cxx +++ b/Source/cmInstallTargetGenerator.cxx @@ -29,8 +29,8 @@ cmInstallTargetGenerator::cmInstallTargetGenerator( std::string file_permissions, std::vector const& configurations, std::string const& component, MessageLevel message, bool exclude_from_all, bool optional, cmListFileBacktrace backtrace) - : cmInstallGenerator(dest.c_str(), configurations, component.c_str(), - message, exclude_from_all) + : cmInstallGenerator(dest, configurations, component, message, + exclude_from_all) , TargetName(std::move(targetName)) , Target(nullptr) , FilePermissions(std::move(file_permissions)) diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 02dedc1..d1a3454 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -3028,7 +3028,7 @@ void cmLocalGenerator::GenerateTargetInstallRules( // Include the user-specified pre-install script for this target. if (const char* preinstall = l->GetProperty("PRE_INSTALL_SCRIPT")) { - cmInstallScriptGenerator g(preinstall, false, nullptr, false); + cmInstallScriptGenerator g(preinstall, false, "", false); g.Generate(os, config, configurationTypes); } @@ -3081,7 +3081,7 @@ void cmLocalGenerator::GenerateTargetInstallRules( // Include the user-specified post-install script for this target. if (const char* postinstall = l->GetProperty("POST_INSTALL_SCRIPT")) { - cmInstallScriptGenerator g(postinstall, false, nullptr, false); + cmInstallScriptGenerator g(postinstall, false, "", false); g.Generate(os, config, configurationTypes); } } diff --git a/Source/cmScriptGenerator.h b/Source/cmScriptGenerator.h index c8bb1ab..7d676c9 100644 --- a/Source/cmScriptGenerator.h +++ b/Source/cmScriptGenerator.h @@ -71,7 +71,7 @@ protected: std::string CreateConfigTest(const std::string& config); std::string CreateConfigTest(std::vector const& configs); - std::string CreateComponentTest(const char* component); + std::string CreateComponentTest(const std::string& component); // Information shared by most generator types. std::string RuntimeConfigVariable; -- cgit v0.12