From 3742bb0d324b971f63cc7e557b1cb8a9d08c5cdd Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 4 Feb 2014 16:06:56 -0500 Subject: [PATCH] stringapi: Use strings for variable names Variable names are always generated by CMake and should never be NULL. --- Source/CPack/cmCPackGenerator.cxx | 14 +++---- Source/CPack/cmCPackGenerator.h | 10 ++--- Source/CTest/cmCTestGenericHandler.cxx | 14 ++----- Source/CTest/cmCTestGenericHandler.h | 6 +-- .../cmCursesCacheEntryComposite.cxx | 9 +++-- .../cmCursesCacheEntryComposite.h | 5 ++- Source/CursesDialog/cmCursesMainForm.cxx | 10 ++--- Source/CursesDialog/cmCursesMainForm.h | 2 +- Source/cmCTest.cxx | 17 +++------ Source/cmCTest.h | 8 ++-- Source/cmCacheManager.cxx | 11 +++--- Source/cmCacheManager.h | 10 ++--- Source/cmDefinitions.cxx | 8 ++-- Source/cmDefinitions.h | 8 ++-- Source/cmExportFileGenerator.cxx | 2 +- Source/cmExportFileGenerator.h | 2 +- Source/cmFindBase.cxx | 6 +-- Source/cmFindBase.h | 4 +- Source/cmFindCommon.cxx | 2 +- Source/cmFindCommon.h | 2 +- Source/cmFindPackageCommand.cxx | 3 +- Source/cmFindPackageCommand.h | 2 +- Source/cmIfCommand.cxx | 18 ++++----- Source/cmIfCommand.h | 2 +- Source/cmListCommand.cxx | 10 ++--- Source/cmListCommand.h | 4 +- Source/cmLocalGenerator.cxx | 2 +- Source/cmLocalGenerator.h | 2 +- Source/cmMakefile.cxx | 37 ++++++++++--------- Source/cmMakefile.h | 32 ++++++++-------- Source/cmMakefileLibraryTargetGenerator.cxx | 4 +- Source/cmMakefileLibraryTargetGenerator.h | 3 +- Source/cmMakefileTargetGenerator.cxx | 3 +- Source/cmMakefileTargetGenerator.h | 2 +- Source/cmScriptGenerator.cxx | 2 +- Source/cmScriptGenerator.h | 2 +- Source/cmake.cxx | 10 ++--- Source/cmake.h | 10 ++--- 38 files changed, 142 insertions(+), 156 deletions(-) diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index e1dd4e983..b46fd8623 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -972,7 +972,7 @@ bool cmCPackGenerator::ReadListFile(const char* moduleName) } //---------------------------------------------------------------------- -void cmCPackGenerator::SetOptionIfNotSet(const char* op, +void cmCPackGenerator::SetOptionIfNotSet(const std::string& op, const char* value) { const char* def = this->MakefileMap->GetDefinition(op); @@ -984,12 +984,8 @@ void cmCPackGenerator::SetOptionIfNotSet(const char* op, } //---------------------------------------------------------------------- -void cmCPackGenerator::SetOption(const char* op, const char* value) +void cmCPackGenerator::SetOption(const std::string& op, const char* value) { - if ( !op ) - { - return; - } if ( !value ) { this->MakefileMap->RemoveDefinition(op); @@ -1176,19 +1172,19 @@ int cmCPackGenerator::InitializeInternal() } //---------------------------------------------------------------------- -bool cmCPackGenerator::IsSet(const char* name) const +bool cmCPackGenerator::IsSet(const std::string& name) const { return this->MakefileMap->IsSet(name); } //---------------------------------------------------------------------- -bool cmCPackGenerator::IsOn(const char* name) const +bool cmCPackGenerator::IsOn(const std::string& name) const { return cmSystemTools::IsOn(GetOption(name)); } //---------------------------------------------------------------------- -const char* cmCPackGenerator::GetOption(const char* op) const +const char* cmCPackGenerator::GetOption(const std::string& op) const { const char* ret = this->MakefileMap->GetDefinition(op); if(!ret) diff --git a/Source/CPack/cmCPackGenerator.h b/Source/CPack/cmCPackGenerator.h index b1a7840a2..39ef64da7 100644 --- a/Source/CPack/cmCPackGenerator.h +++ b/Source/CPack/cmCPackGenerator.h @@ -99,12 +99,12 @@ public: virtual ~cmCPackGenerator(); //! Set and get the options - void SetOption(const char* op, const char* value); - void SetOptionIfNotSet(const char* op, const char* value); - const char* GetOption(const char* op) const; + void SetOption(const std::string& op, const char* value); + void SetOptionIfNotSet(const std::string& op, const char* value); + const char* GetOption(const std::string& op) const; std::vector GetOptions() const; - bool IsSet(const char* name) const; - bool IsOn(const char* name) const; + bool IsSet(const std::string& name) const; + bool IsOn(const std::string& name) const; //! Set the logger void SetLogger(cmCPackLog* log) { this->Logger = log; } diff --git a/Source/CTest/cmCTestGenericHandler.cxx b/Source/CTest/cmCTestGenericHandler.cxx index 5338f307b..ae498ea44 100644 --- a/Source/CTest/cmCTestGenericHandler.cxx +++ b/Source/CTest/cmCTestGenericHandler.cxx @@ -30,12 +30,8 @@ cmCTestGenericHandler::~cmCTestGenericHandler() } //---------------------------------------------------------------------- -void cmCTestGenericHandler::SetOption(const char* op, const char* value) +void cmCTestGenericHandler::SetOption(const std::string& op, const char* value) { - if ( !op ) - { - return; - } if ( !value ) { cmCTestGenericHandler::t_StringToString::iterator remit @@ -51,14 +47,10 @@ void cmCTestGenericHandler::SetOption(const char* op, const char* value) } //---------------------------------------------------------------------- -void cmCTestGenericHandler::SetPersistentOption(const char* op, +void cmCTestGenericHandler::SetPersistentOption(const std::string& op, const char* value) { this->SetOption(op, value); - if ( !op ) - { - return; - } if ( !value ) { cmCTestGenericHandler::t_StringToString::iterator remit @@ -88,7 +80,7 @@ void cmCTestGenericHandler::Initialize() } //---------------------------------------------------------------------- -const char* cmCTestGenericHandler::GetOption(const char* op) +const char* cmCTestGenericHandler::GetOption(const std::string& op) { cmCTestGenericHandler::t_StringToString::iterator remit = this->Options.find(op); diff --git a/Source/CTest/cmCTestGenericHandler.h b/Source/CTest/cmCTestGenericHandler.h index ba8febb61..d05e23023 100644 --- a/Source/CTest/cmCTestGenericHandler.h +++ b/Source/CTest/cmCTestGenericHandler.h @@ -74,9 +74,9 @@ public: typedef std::map t_StringToString; - void SetPersistentOption(const char* op, const char* value); - void SetOption(const char* op, const char* value); - const char* GetOption(const char* op); + void SetPersistentOption(const std::string& op, const char* value); + void SetOption(const std::string& op, const char* value); + const char* GetOption(const std::string& op); void SetCommand(cmCTestCommand* command) { diff --git a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx index 249137f52..7929ce76a 100644 --- a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx +++ b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx @@ -19,9 +19,10 @@ #include "cmCursesDummyWidget.h" #include "../cmSystemTools.h" -cmCursesCacheEntryComposite::cmCursesCacheEntryComposite(const char* key, - int labelwidth, - int entrywidth) : +cmCursesCacheEntryComposite::cmCursesCacheEntryComposite( + const std::string& key, + int labelwidth, + int entrywidth) : Key(key), LabelWidth(labelwidth), EntryWidth(entrywidth) { this->Label = new cmCursesLabelWidget(this->LabelWidth, 1, 1, 1, key); @@ -31,7 +32,7 @@ cmCursesCacheEntryComposite::cmCursesCacheEntryComposite(const char* key, } cmCursesCacheEntryComposite::cmCursesCacheEntryComposite( - const char* key, const cmCacheManager::CacheIterator& it, bool isNew, + const std::string& key, const cmCacheManager::CacheIterator& it, bool isNew, int labelwidth, int entrywidth) : Key(key), LabelWidth(labelwidth), EntryWidth(entrywidth) { diff --git a/Source/CursesDialog/cmCursesCacheEntryComposite.h b/Source/CursesDialog/cmCursesCacheEntryComposite.h index 1357a02ec..98107cc70 100644 --- a/Source/CursesDialog/cmCursesCacheEntryComposite.h +++ b/Source/CursesDialog/cmCursesCacheEntryComposite.h @@ -18,8 +18,9 @@ class cmCursesCacheEntryComposite { public: - cmCursesCacheEntryComposite(const char* key, int labelwidth, int entrywidth); - cmCursesCacheEntryComposite(const char* key, + cmCursesCacheEntryComposite(const std::string& key, int labelwidth, + int entrywidth); + cmCursesCacheEntryComposite(const std::string& key, const cmCacheManager::CacheIterator& it, bool isNew, int labelwidth, int entrywidth); ~cmCursesCacheEntryComposite(); diff --git a/Source/CursesDialog/cmCursesMainForm.cxx b/Source/CursesDialog/cmCursesMainForm.cxx index d94cd37fa..073492714 100644 --- a/Source/CursesDialog/cmCursesMainForm.cxx +++ b/Source/CursesDialog/cmCursesMainForm.cxx @@ -84,9 +84,9 @@ cmCursesMainForm::~cmCursesMainForm() } // See if a cache entry is in the list of entries in the ui. -bool cmCursesMainForm::LookForCacheEntry(const char* key) +bool cmCursesMainForm::LookForCacheEntry(const std::string& key) { - if (!key || !this->Entries) + if (!this->Entries) { return false; } @@ -94,7 +94,7 @@ bool cmCursesMainForm::LookForCacheEntry(const char* key) std::vector::iterator it; for (it = this->Entries->begin(); it != this->Entries->end(); ++it) { - if (!strcmp(key, (*it)->Key.c_str())) + if (key == (*it)->Key) { return true; } @@ -146,7 +146,7 @@ void cmCursesMainForm::InitializeUI() this->CMakeInstance->GetCacheManager()->NewIterator(); !i.IsAtEnd(); i.Next()) { - const char* key = i.GetName(); + std::string key = i.GetName(); if ( i.GetType() == cmCacheManager::INTERNAL || i.GetType() == cmCacheManager::STATIC || i.GetType() == cmCacheManager::UNINITIALIZED ) @@ -168,7 +168,7 @@ void cmCursesMainForm::InitializeUI() this->CMakeInstance->GetCacheManager()->NewIterator(); !i.IsAtEnd(); i.Next()) { - const char* key = i.GetName(); + std::string key = i.GetName(); if ( i.GetType() == cmCacheManager::INTERNAL || i.GetType() == cmCacheManager::STATIC || i.GetType() == cmCacheManager::UNINITIALIZED ) diff --git a/Source/CursesDialog/cmCursesMainForm.h b/Source/CursesDialog/cmCursesMainForm.h index 883a2b3d6..fba9bc50d 100644 --- a/Source/CursesDialog/cmCursesMainForm.h +++ b/Source/CursesDialog/cmCursesMainForm.h @@ -51,7 +51,7 @@ public: * Returns true if an entry with the given key is in the * list of current composites. */ - bool LookForCacheEntry(const char* key); + bool LookForCacheEntry(const std::string& key); enum { MIN_WIDTH = 65, diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index acedc1a36..39b623d3c 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx @@ -2593,13 +2593,9 @@ int cmCTest::ReadCustomConfigurationFileTree(const char* dir, cmMakefile* mf) } //---------------------------------------------------------------------- -void cmCTest::PopulateCustomVector(cmMakefile* mf, const char* def, +void cmCTest::PopulateCustomVector(cmMakefile* mf, const std::string& def, VectorOfStrings& vec) { - if ( !def) - { - return; - } const char* dval = mf->GetDefinition(def); if ( !dval ) { @@ -2620,12 +2616,9 @@ void cmCTest::PopulateCustomVector(cmMakefile* mf, const char* def, } //---------------------------------------------------------------------- -void cmCTest::PopulateCustomInteger(cmMakefile* mf, const char* def, int& val) +void cmCTest::PopulateCustomInteger(cmMakefile* mf, const std::string& def, + int& val) { - if ( !def) - { - return; - } const char* dval = mf->GetDefinition(def); if ( !dval ) { @@ -2702,7 +2695,7 @@ std::string cmCTest::GetShortPathToFile(const char* cfname) } //---------------------------------------------------------------------- -std::string cmCTest::GetCTestConfiguration(const char *name) +std::string cmCTest::GetCTestConfiguration(const std::string& name) { if ( this->CTestConfigurationOverwrites.find(name) != this->CTestConfigurationOverwrites.end() ) @@ -2877,7 +2870,7 @@ void cmCTest::SetConfigType(const char* ct) //---------------------------------------------------------------------- bool cmCTest::SetCTestConfigurationFromCMakeVariable(cmMakefile* mf, - const char* dconfig, const char* cmake_var) + const char* dconfig, const std::string& cmake_var) { const char* ctvar; ctvar = mf->GetDefinition(cmake_var); diff --git a/Source/cmCTest.h b/Source/cmCTest.h index becb0f5a6..6418f0987 100644 --- a/Source/cmCTest.h +++ b/Source/cmCTest.h @@ -172,7 +172,7 @@ public: std::string GetTestModelString(); static int GetTestModelFromString(const char* str); static std::string CleanString(const std::string& str); - std::string GetCTestConfiguration(const char *name); + std::string GetCTestConfiguration(const std::string& name); void SetCTestConfiguration(const char *name, const char* value); void EmptyCTestConfiguration(); @@ -185,9 +185,9 @@ public: //! Set the notes files to be created. void SetNotesFiles(const char* notes); - void PopulateCustomVector(cmMakefile* mf, const char* definition, + void PopulateCustomVector(cmMakefile* mf, const std::string& definition, VectorOfStrings& vec); - void PopulateCustomInteger(cmMakefile* mf, const char* def, + void PopulateCustomInteger(cmMakefile* mf, const std::string& def, int& val); ///! Get the current time as string @@ -332,7 +332,7 @@ public: * Set the CTest variable from CMake variable */ bool SetCTestConfigurationFromCMakeVariable(cmMakefile* mf, - const char* dconfig, const char* cmake_var); + const char* dconfig, const std::string& cmake_var); //! Make string safe to be send as an URL static std::string MakeURLSafe(const std::string&); diff --git a/Source/cmCacheManager.cxx b/Source/cmCacheManager.cxx index 04542d8c9..7a71482a1 100644 --- a/Source/cmCacheManager.cxx +++ b/Source/cmCacheManager.cxx @@ -650,7 +650,7 @@ void cmCacheManager::OutputHelpString(std::ostream& fout, } } -void cmCacheManager::RemoveCacheEntry(const char* key) +void cmCacheManager::RemoveCacheEntry(const std::string& key) { CacheEntryMap::iterator i = this->Cache.find(key); if(i != this->Cache.end()) @@ -660,7 +660,8 @@ void cmCacheManager::RemoveCacheEntry(const char* key) } -cmCacheManager::CacheEntry *cmCacheManager::GetCacheEntry(const char* key) +cmCacheManager::CacheEntry *cmCacheManager::GetCacheEntry( + const std::string& key) { CacheEntryMap::iterator i = this->Cache.find(key); if(i != this->Cache.end()) @@ -676,7 +677,7 @@ cmCacheManager::CacheIterator cmCacheManager::GetCacheIterator( return CacheIterator(*this, key); } -const char* cmCacheManager::GetCacheValue(const char* key) const +const char* cmCacheManager::GetCacheValue(const std::string& key) const { CacheEntryMap::const_iterator i = this->Cache.find(key); if(i != this->Cache.end() && @@ -708,7 +709,7 @@ void cmCacheManager::PrintCache(std::ostream& out) const } -void cmCacheManager::AddCacheEntry(const char* key, +void cmCacheManager::AddCacheEntry(const std::string& key, const char* value, const char* helpString, CacheEntryType type) @@ -767,7 +768,7 @@ void cmCacheManager::CacheIterator::Begin() this->Position = this->Container.Cache.begin(); } -bool cmCacheManager::CacheIterator::Find(const char* key) +bool cmCacheManager::CacheIterator::Find(const std::string& key) { this->Position = this->Container.Cache.find(key); return !this->IsAtEnd(); diff --git a/Source/cmCacheManager.h b/Source/cmCacheManager.h index ac6187bfc..7a6139476 100644 --- a/Source/cmCacheManager.h +++ b/Source/cmCacheManager.h @@ -53,7 +53,7 @@ public: { public: void Begin(); - bool Find(const char*); + bool Find(const std::string&); bool IsAtEnd() const; void Next(); const char *GetName() const { @@ -129,7 +129,7 @@ public: cmCacheManager::CacheIterator GetCacheIterator(const char *key=0); ///! Remove an entry from the cache - void RemoveCacheEntry(const char* key); + void RemoveCacheEntry(const std::string& key); ///! Get the number of entries in the cache int GetSize() { @@ -142,7 +142,7 @@ public: CacheEntryType& type); ///! Get a value from the cache given a key - const char* GetCacheValue(const char* key) const; + const char* GetCacheValue(const std::string& key) const; /** Get the version of CMake that wrote the cache. */ unsigned int GetCacheMajorVersion() const @@ -153,11 +153,11 @@ public: protected: ///! Add an entry into the cache - void AddCacheEntry(const char* key, const char* value, + void AddCacheEntry(const std::string& key, const char* value, const char* helpString, CacheEntryType type); ///! Get a cache entry object for a key - CacheEntry *GetCacheEntry(const char *key); + CacheEntry *GetCacheEntry(const std::string& key); ///! Clean out the CMakeFiles directory if no CMakeCache.txt void CleanCMakeFiles(const char* path); diff --git a/Source/cmDefinitions.cxx b/Source/cmDefinitions.cxx index 9d2870058..5fa387750 100644 --- a/Source/cmDefinitions.cxx +++ b/Source/cmDefinitions.cxx @@ -28,7 +28,7 @@ void cmDefinitions::Reset(cmDefinitions* parent) //---------------------------------------------------------------------------- cmDefinitions::Def const& -cmDefinitions::GetInternal(const char* key) +cmDefinitions::GetInternal(const std::string& key) { MapType::const_iterator i = this->Map.find(key); if(i != this->Map.end()) @@ -46,7 +46,7 @@ cmDefinitions::GetInternal(const char* key) //---------------------------------------------------------------------------- cmDefinitions::Def const& -cmDefinitions::SetInternal(const char* key, Def const& def) +cmDefinitions::SetInternal(const std::string& key, Def const& def) { if(this->Up || def.Exists) { @@ -71,14 +71,14 @@ cmDefinitions::SetInternal(const char* key, Def const& def) } //---------------------------------------------------------------------------- -const char* cmDefinitions::Get(const char* key) +const char* cmDefinitions::Get(const std::string& key) { Def const& def = this->GetInternal(key); return def.Exists? def.c_str() : 0; } //---------------------------------------------------------------------------- -const char* cmDefinitions::Set(const char* key, const char* value) +const char* cmDefinitions::Set(const std::string& key, const char* value) { Def const& def = this->SetInternal(key, Def(value)); return def.Exists? def.c_str() : 0; diff --git a/Source/cmDefinitions.h b/Source/cmDefinitions.h index 4834d8443..24dad29d5 100644 --- a/Source/cmDefinitions.h +++ b/Source/cmDefinitions.h @@ -35,10 +35,10 @@ public: /** Get the value associated with a key; null if none. Store the result locally if it came from a parent. */ - const char* Get(const char* key); + const char* Get(const std::string& key); /** Set (or unset if null) a value associated with a key. */ - const char* Set(const char* key, const char* value); + const char* Set(const std::string& key, const char* value); /** Get the set of all local keys. */ std::set LocalKeys() const; @@ -69,8 +69,8 @@ private: MapType Map; // Internal query and update methods. - Def const& GetInternal(const char* key); - Def const& SetInternal(const char* key, Def const& def); + Def const& GetInternal(const std::string& key); + Def const& SetInternal(const std::string& key, Def const& def); // Implementation of Closure() method. struct ClosureTag {}; diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx index 79566a96d..c06f88966 100644 --- a/Source/cmExportFileGenerator.cxx +++ b/Source/cmExportFileGenerator.cxx @@ -151,7 +151,7 @@ void cmExportFileGenerator::PopulateInterfaceProperty( //---------------------------------------------------------------------------- void cmExportFileGenerator::PopulateInterfaceProperty( const std::string& propName, - const cmStdString& outputName, + const std::string& outputName, cmTarget *target, cmGeneratorExpression::PreprocessContext preprocessRule, ImportPropertyMap &properties, diff --git a/Source/cmExportFileGenerator.h b/Source/cmExportFileGenerator.h index 326fe36c0..f93e72a2a 100644 --- a/Source/cmExportFileGenerator.h +++ b/Source/cmExportFileGenerator.h @@ -174,7 +174,7 @@ protected: std::set ExportedTargets; private: - void PopulateInterfaceProperty(const std::string&, const cmStdString&, + void PopulateInterfaceProperty(const std::string&, const std::string&, cmTarget *target, cmGeneratorExpression::PreprocessContext, ImportPropertyMap &properties, diff --git a/Source/cmFindBase.cxx b/Source/cmFindBase.cxx index ae15ee724..86fd54b07 100644 --- a/Source/cmFindBase.cxx +++ b/Source/cmFindBase.cxx @@ -268,7 +268,7 @@ void cmFindBase::AddPrefixPaths(std::vector const& in_paths, } //---------------------------------------------------------------------------- -void cmFindBase::AddCMakePrefixPath(const char* variable) +void cmFindBase::AddCMakePrefixPath(const std::string& variable) { // Get a path from a CMake variable. if(const char* varPath = this->Makefile->GetDefinition(variable)) @@ -280,11 +280,11 @@ void cmFindBase::AddCMakePrefixPath(const char* variable) } //---------------------------------------------------------------------------- -void cmFindBase::AddEnvPrefixPath(const char* variable) +void cmFindBase::AddEnvPrefixPath(const std::string& variable) { // Get a path from the environment. std::vector tmp; - cmSystemTools::GetPath(tmp, variable); + cmSystemTools::GetPath(tmp, variable.c_str()); this->AddPrefixPaths(tmp, EnvPath); } diff --git a/Source/cmFindBase.h b/Source/cmFindBase.h index 0562b1b0a..e590d6e69 100644 --- a/Source/cmFindBase.h +++ b/Source/cmFindBase.h @@ -63,8 +63,8 @@ private: void AddUserGuessPath(); // Helpers. - void AddCMakePrefixPath(const char* variable); - void AddEnvPrefixPath(const char* variable); + void AddCMakePrefixPath(const std::string& variable); + void AddEnvPrefixPath(const std::string& variable); void AddPrefixPaths(std::vector const& in_paths, PathType pathType); }; diff --git a/Source/cmFindCommon.cxx b/Source/cmFindCommon.cxx index e8c8da35d..bd75e1054 100644 --- a/Source/cmFindCommon.cxx +++ b/Source/cmFindCommon.cxx @@ -374,7 +374,7 @@ void cmFindCommon::AddUserPath(std::string const& p, } //---------------------------------------------------------------------------- -void cmFindCommon::AddCMakePath(const char* variable) +void cmFindCommon::AddCMakePath(const std::string& variable) { // Get a path from a CMake variable. if(const char* varPath = this->Makefile->GetDefinition(variable)) diff --git a/Source/cmFindCommon.h b/Source/cmFindCommon.h index 6109a9fd4..ba90a8498 100644 --- a/Source/cmFindCommon.h +++ b/Source/cmFindCommon.h @@ -63,7 +63,7 @@ protected: void AddPathSuffix(std::string const& arg); void AddUserPath(std::string const& p, std::vector& paths); - void AddCMakePath(const char* variable); + void AddCMakePath(const std::string& variable); void AddEnvPath(const char* variable); void AddPathsInternal(std::vector const& in_paths, PathType pathType); diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx index 73eba517e..d557fba4a 100644 --- a/Source/cmFindPackageCommand.cxx +++ b/Source/cmFindPackageCommand.cxx @@ -535,7 +535,8 @@ void cmFindPackageCommand::SetModuleVariables(const std::string& components) } //---------------------------------------------------------------------------- -void cmFindPackageCommand::AddFindDefinition(const char* var, const char* val) +void cmFindPackageCommand::AddFindDefinition(const std::string& var, + const char* val) { if(const char* old = this->Makefile->GetDefinition(var)) { diff --git a/Source/cmFindPackageCommand.h b/Source/cmFindPackageCommand.h index 0d80e48e7..9819d4f54 100644 --- a/Source/cmFindPackageCommand.h +++ b/Source/cmFindPackageCommand.h @@ -57,7 +57,7 @@ private: void AppendToFoundProperty(bool found); void SetModuleVariables(const std::string& components); bool FindModule(bool& found); - void AddFindDefinition(const char* var, const char* val); + void AddFindDefinition(const std::string& var, const char* val); void RestoreFindDefinitions(); bool HandlePackageMode(); bool FindConfig(); diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx index ee95c0591..bd123275c 100644 --- a/Source/cmIfCommand.cxx +++ b/Source/cmIfCommand.cxx @@ -593,7 +593,7 @@ namespace if (argP1 != newArgs.end() && argP2 != newArgs.end() && *(argP1) == "MATCHES") { - def = cmIfCommand::GetVariableOrString(arg->c_str(), makefile); + def = cmIfCommand::GetVariableOrString(*arg, makefile); const char* rex = (argP2)->c_str(); cmStringCommand::ClearMatches(makefile); cmsys::RegularExpression regEntry; @@ -634,8 +634,8 @@ namespace (*(argP1) == "LESS" || *(argP1) == "GREATER" || *(argP1) == "EQUAL")) { - def = cmIfCommand::GetVariableOrString(arg->c_str(), makefile); - def2 = cmIfCommand::GetVariableOrString((argP2)->c_str(), makefile); + def = cmIfCommand::GetVariableOrString(*arg, makefile); + def2 = cmIfCommand::GetVariableOrString(*argP2, makefile); double lhs; double rhs; bool result; @@ -665,8 +665,8 @@ namespace *(argP1) == "STREQUAL" || *(argP1) == "STRGREATER")) { - def = cmIfCommand::GetVariableOrString(arg->c_str(), makefile); - def2 = cmIfCommand::GetVariableOrString((argP2)->c_str(), makefile); + def = cmIfCommand::GetVariableOrString(*arg, makefile); + def2 = cmIfCommand::GetVariableOrString(*argP2, makefile); int val = strcmp(def,def2); bool result; if (*(argP1) == "STRLESS") @@ -689,8 +689,8 @@ namespace (*(argP1) == "VERSION_LESS" || *(argP1) == "VERSION_GREATER" || *(argP1) == "VERSION_EQUAL")) { - def = cmIfCommand::GetVariableOrString(arg->c_str(), makefile); - def2 = cmIfCommand::GetVariableOrString((argP2)->c_str(), makefile); + def = cmIfCommand::GetVariableOrString(*arg, makefile); + def2 = cmIfCommand::GetVariableOrString(*argP2, makefile); cmSystemTools::CompareOp op = cmSystemTools::OP_EQUAL; if(*argP1 == "VERSION_LESS") { @@ -907,13 +907,13 @@ bool cmIfCommand::IsTrue(const std::vector &args, } //========================================================================= -const char* cmIfCommand::GetVariableOrString(const char* str, +const char* cmIfCommand::GetVariableOrString(const std::string& str, const cmMakefile* mf) { const char* def = mf->GetDefinition(str); if(!def) { - def = str; + def = str.c_str(); } return def; } diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h index f2633adc4..02d87edee 100644 --- a/Source/cmIfCommand.h +++ b/Source/cmIfCommand.h @@ -79,7 +79,7 @@ public: // Get a definition from the makefile. If it doesn't exist, // return the original string. - static const char* GetVariableOrString(const char* str, + static const char* GetVariableOrString(const std::string& str, const cmMakefile* mf); cmTypeMacro(cmIfCommand, cmCommand); diff --git a/Source/cmListCommand.cxx b/Source/cmListCommand.cxx index df64695aa..20e760a8c 100644 --- a/Source/cmListCommand.cxx +++ b/Source/cmListCommand.cxx @@ -74,12 +74,9 @@ bool cmListCommand } //---------------------------------------------------------------------------- -bool cmListCommand::GetListString(std::string& listString, const char* var) +bool cmListCommand::GetListString(std::string& listString, + const std::string& var) { - if ( !var ) - { - return false; - } // get the old value const char* cacheValue = this->Makefile->GetDefinition(var); @@ -92,7 +89,8 @@ bool cmListCommand::GetListString(std::string& listString, const char* var) } //---------------------------------------------------------------------------- -bool cmListCommand::GetList(std::vector& list, const char* var) +bool cmListCommand::GetList(std::vector& list, + const std::string& var) { std::string listString; if ( !this->GetListString(listString, var) ) diff --git a/Source/cmListCommand.h b/Source/cmListCommand.h index 0cb5da2a7..b79ff0d72 100644 --- a/Source/cmListCommand.h +++ b/Source/cmListCommand.h @@ -60,8 +60,8 @@ protected: bool HandleReverseCommand(std::vector const& args); - bool GetList(std::vector& list, const char* var); - bool GetListString(std::string& listString, const char* var); + bool GetList(std::vector& list, const std::string& var); + bool GetListString(std::string& listString, const std::string& var); }; diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 5bfd9da51..476c95d93 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -2324,7 +2324,7 @@ void cmLocalGenerator::AddPositionIndependentFlags(std::string& flags, //---------------------------------------------------------------------------- void cmLocalGenerator::AddConfigVariableFlags(std::string& flags, - const char* var, + const std::string& var, const char* config) { // Add the flags from the variable itself. diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h index 888611db1..80a1421b0 100644 --- a/Source/cmLocalGenerator.h +++ b/Source/cmLocalGenerator.h @@ -145,7 +145,7 @@ public: std::string const& lang, const char *config); void AddVisibilityPresetFlags(std::string &flags, cmTarget* target, const char *lang); - void AddConfigVariableFlags(std::string& flags, const char* var, + void AddConfigVariableFlags(std::string& flags, const std::string& var, const char* config); ///! Append flags to a string. virtual void AppendFlags(std::string& flags, const char* newFlags); diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 0fce1f410..edf33c19a 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1769,7 +1769,7 @@ cmMakefile::AddSystemIncludeDirectories(const std::set &incs) } } -void cmMakefile::AddDefinition(const char* name, const char* value) +void cmMakefile::AddDefinition(const std::string& name, const char* value) { if (!value ) { @@ -1798,14 +1798,14 @@ void cmMakefile::AddDefinition(const char* name, const char* value) } -void cmMakefile::AddCacheDefinition(const char* name, const char* value, +void cmMakefile::AddCacheDefinition(const std::string& name, const char* value, const char* doc, cmCacheManager::CacheEntryType type, bool force) { const char* val = value; cmCacheManager::CacheIterator it = - this->GetCacheManager()->GetCacheIterator(name); + this->GetCacheManager()->GetCacheIterator(name.c_str()); if(!it.IsAtEnd() && (it.GetType() == cmCacheManager::UNINITIALIZED) && it.Initialized()) { @@ -1845,7 +1845,7 @@ void cmMakefile::AddCacheDefinition(const char* name, const char* value, } -void cmMakefile::AddDefinition(const char* name, bool value) +void cmMakefile::AddDefinition(const std::string& name, bool value) { this->Internal->VarStack.top().Set(name, value? "ON" : "OFF"); if (this->Internal->VarUsageStack.size() && @@ -1880,12 +1880,12 @@ void cmMakefile::CheckForUnusedVariables() const } } -void cmMakefile::MarkVariableAsUsed(const char* var) +void cmMakefile::MarkVariableAsUsed(const std::string& var) { this->Internal->VarUsageStack.top().insert(var); } -bool cmMakefile::VariableInitialized(const char* var) const +bool cmMakefile::VariableInitialized(const std::string& var) const { if(this->Internal->VarInitStack.top().find(var) != this->Internal->VarInitStack.top().end()) @@ -1895,7 +1895,7 @@ bool cmMakefile::VariableInitialized(const char* var) const return false; } -bool cmMakefile::VariableUsed(const char* var) const +bool cmMakefile::VariableUsed(const std::string& var) const { if(this->Internal->VarUsageStack.top().find(var) != this->Internal->VarUsageStack.top().end()) @@ -1905,7 +1905,8 @@ bool cmMakefile::VariableUsed(const char* var) const return false; } -void cmMakefile::CheckForUnused(const char* reason, const char* name) const +void cmMakefile::CheckForUnused(const char* reason, + const std::string& name) const { if (this->WarnUnused && !this->VariableUsed(name)) { @@ -1943,7 +1944,7 @@ void cmMakefile::CheckForUnused(const char* reason, const char* name) const } } -void cmMakefile::RemoveDefinition(const char* name) +void cmMakefile::RemoveDefinition(const std::string& name) { this->Internal->VarStack.top().Set(name, 0); if (this->Internal->VarUsageStack.size() && @@ -1963,7 +1964,7 @@ void cmMakefile::RemoveDefinition(const char* name) #endif } -void cmMakefile::RemoveCacheDefinition(const char* name) +void cmMakefile::RemoveCacheDefinition(const std::string& name) { this->GetCacheManager()->RemoveCacheEntry(name); } @@ -2329,13 +2330,13 @@ void cmMakefile::ExpandVariablesCMP0019() } } -bool cmMakefile::IsOn(const char* name) const +bool cmMakefile::IsOn(const std::string& name) const { const char* value = this->GetDefinition(name); return cmSystemTools::IsOn(value); } -bool cmMakefile::IsSet(const char* name) const +bool cmMakefile::IsSet(const std::string& name) const { const char* value = this->GetDefinition(name); if ( !value ) @@ -2406,7 +2407,7 @@ bool cmMakefile::CanIWriteThisFile(const char* fileName) const return true; } -const char* cmMakefile::GetRequiredDefinition(const char* name) const +const char* cmMakefile::GetRequiredDefinition(const std::string& name) const { const char* ret = this->GetDefinition(name); if(!ret) @@ -2414,13 +2415,13 @@ const char* cmMakefile::GetRequiredDefinition(const char* name) const cmSystemTools::Error("Error required internal CMake variable not " "set, cmake may be not be built correctly.\n", "Missing variable is:\n", - name); + name.c_str()); return ""; } return ret; } -bool cmMakefile::IsDefinitionSet(const char* name) const +bool cmMakefile::IsDefinitionSet(const std::string& name) const { const char* def = this->Internal->VarStack.top().Get(name); this->Internal->VarUsageStack.top().insert(name); @@ -2442,7 +2443,7 @@ bool cmMakefile::IsDefinitionSet(const char* name) const return def?true:false; } -const char* cmMakefile::GetDefinition(const char* name) const +const char* cmMakefile::GetDefinition(const std::string& name) const { if (this->WarnUnused) { @@ -2483,7 +2484,7 @@ const char* cmMakefile::GetDefinition(const char* name) const return def; } -const char* cmMakefile::GetSafeDefinition(const char* def) const +const char* cmMakefile::GetSafeDefinition(const std::string& def) const { const char* ret = this->GetDefinition(def); if(!ret) @@ -3995,7 +3996,7 @@ void cmMakefile::PopScope() } } -void cmMakefile::RaiseScope(const cmStdString& var, const char *varDef) +void cmMakefile::RaiseScope(const std::string& var, const char *varDef) { if (var.empty()) { diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 5f4b803d3..fc71ab743 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -69,11 +69,11 @@ public: /* Check for unused variables in this scope */ void CheckForUnusedVariables() const; /* Mark a variable as used */ - void MarkVariableAsUsed(const char* var); + void MarkVariableAsUsed(const std::string& var); /* return true if a variable has been initialized */ - bool VariableInitialized(const char* ) const; + bool VariableInitialized(const std::string& ) const; /* return true if a variable has been used */ - bool VariableUsed(const char* ) const; + bool VariableUsed(const std::string& ) const; /** Return whether compatibility features needed for a version of the cache or lower should be enabled. */ bool NeedCacheCompatibility(int major, int minor) const; @@ -283,9 +283,9 @@ public: * Add a variable definition to the build. This variable * can be used in CMake to refer to lists, directories, etc. */ - void AddDefinition(const char* name, const char* value); + void AddDefinition(const std::string& name, const char* value); ///! Add a definition to this makefile and the global cmake cache. - void AddCacheDefinition(const char* name, const char* value, + void AddCacheDefinition(const std::string& name, const char* value, const char* doc, cmCacheManager::CacheEntryType type, bool force = false); @@ -293,15 +293,15 @@ public: /** * Add bool variable definition to the build. */ - void AddDefinition(const char* name, bool); + void AddDefinition(const std::string& name, bool); /** * Remove a variable definition from the build. This is not valid * for cache entries, and will only affect the current makefile. */ - void RemoveDefinition(const char* name); + void RemoveDefinition(const std::string& name); ///! Remove a definition from the cache. - void RemoveCacheDefinition(const char* name); + void RemoveCacheDefinition(const std::string& name); /** * Specify the name of the project for this build. @@ -587,10 +587,10 @@ public: * If the variable is not found in this makefile instance, the * cache is then queried. */ - const char* GetDefinition(const char*) const; - const char* GetSafeDefinition(const char*) const; - const char* GetRequiredDefinition(const char* name) const; - bool IsDefinitionSet(const char*) const; + const char* GetDefinition(const std::string&) const; + const char* GetSafeDefinition(const std::string&) const; + const char* GetRequiredDefinition(const std::string& name) const; + bool IsDefinitionSet(const std::string&) const; /** * Get the list of all variables in the current space. If argument * cacheonly is specified and is greater than 0, then only cache @@ -601,8 +601,8 @@ public: /** Test a boolean cache entry to see if it is true or false, * returns false if no entry defined. */ - bool IsOn(const char* name) const; - bool IsSet(const char* name) const; + bool IsOn(const std::string& name) const; + bool IsSet(const std::string& name) const; /** Return whether the target platform is 64-bit. */ bool PlatformIs64Bit() const; @@ -837,7 +837,7 @@ public: // push and pop variable scopes void PushScope(); void PopScope(); - void RaiseScope(const cmStdString& var, const char *value); + void RaiseScope(const std::string& var, const char *value); /** Helper class to push and pop scopes automatically. */ class ScopePushPop @@ -882,7 +882,7 @@ protected: void AddGlobalLinkInformation(const char* name, cmTarget& target); // Check for a an unused variable - void CheckForUnused(const char* reason, const char* name) const; + void CheckForUnused(const char* reason, const std::string& name) const; std::string Prefix; std::vector AuxSourceDirectories; // diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx index 39e00b231..10418d0a3 100644 --- a/Source/cmMakefileLibraryTargetGenerator.cxx +++ b/Source/cmMakefileLibraryTargetGenerator.cxx @@ -237,7 +237,7 @@ void cmMakefileLibraryTargetGenerator::WriteFrameworkRules(bool relink) //---------------------------------------------------------------------------- void cmMakefileLibraryTargetGenerator::WriteLibraryRules -(const char* linkRuleVar, const char* extraFlags, bool relink) +(const std::string& linkRuleVar, const std::string& extraFlags, bool relink) { // TODO: Merge the methods that call this method to avoid // code duplication. @@ -261,7 +261,7 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules // Create set of linking flags. std::string linkFlags; - this->LocalGenerator->AppendFlags(linkFlags, extraFlags); + this->LocalGenerator->AppendFlags(linkFlags, extraFlags.c_str()); // Add OSX version flags, if any. if(this->Target->GetType() == cmTarget::SHARED_LIBRARY || diff --git a/Source/cmMakefileLibraryTargetGenerator.h b/Source/cmMakefileLibraryTargetGenerator.h index 1487b56b1..4873516c8 100644 --- a/Source/cmMakefileLibraryTargetGenerator.h +++ b/Source/cmMakefileLibraryTargetGenerator.h @@ -30,7 +30,8 @@ protected: void WriteStaticLibraryRules(); void WriteSharedLibraryRules(bool relink); void WriteModuleLibraryRules(bool relink); - void WriteLibraryRules(const char *linkRule, const char *extraFlags, + void WriteLibraryRules(const std::string& linkRule, + const std::string& extraFlags, bool relink); // MacOSX Framework support methods void WriteFrameworkRules(bool relink); diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index facbcc621..bf0dc5141 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/Source/cmMakefileTargetGenerator.cxx @@ -1682,7 +1682,8 @@ void cmMakefileTargetGenerator } //---------------------------------------------------------------------------- -std::string cmMakefileTargetGenerator::GetLinkRule(const char* linkRuleVar) +std::string cmMakefileTargetGenerator::GetLinkRule( + const cmStdString& linkRuleVar) { std::string linkRule = this->Makefile->GetRequiredDefinition(linkRuleVar); if(this->Target->HasImplibGNUtoMS()) diff --git a/Source/cmMakefileTargetGenerator.h b/Source/cmMakefileTargetGenerator.h index 72dc6bc61..f960afc14 100644 --- a/Source/cmMakefileTargetGenerator.h +++ b/Source/cmMakefileTargetGenerator.h @@ -138,7 +138,7 @@ protected: void AppendLinkDepends(std::vector& depends); // Lookup the link rule for this target. - std::string GetLinkRule(const char* linkRuleVar); + std::string GetLinkRule(const cmStdString& linkRuleVar); /** In order to support parallel builds for custom commands with multiple outputs the outputs are given a serial order, and only diff --git a/Source/cmScriptGenerator.cxx b/Source/cmScriptGenerator.cxx index 3b6a49bf7..7a8efc10c 100644 --- a/Source/cmScriptGenerator.cxx +++ b/Source/cmScriptGenerator.cxx @@ -15,7 +15,7 @@ //---------------------------------------------------------------------------- cmScriptGenerator -::cmScriptGenerator(const char* config_var, +::cmScriptGenerator(const std::string& config_var, std::vector const& configurations): RuntimeConfigVariable(config_var), Configurations(configurations), diff --git a/Source/cmScriptGenerator.h b/Source/cmScriptGenerator.h index 8b2ca335f..3515e204e 100644 --- a/Source/cmScriptGenerator.h +++ b/Source/cmScriptGenerator.h @@ -47,7 +47,7 @@ inline std::ostream& operator<<(std::ostream& os, class cmScriptGenerator { public: - cmScriptGenerator(const char* config_var, + cmScriptGenerator(const std::string& config_var, std::vector const& configurations); virtual ~cmScriptGenerator(); diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 149e299b5..ad1d0fafb 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -1202,7 +1202,7 @@ struct SaveCacheEntry cmCacheManager::CacheEntryType type; }; -int cmake::HandleDeleteCacheVariables(const char* var) +int cmake::HandleDeleteCacheVariables(const std::string& var) { std::vector argsSplit; cmSystemTools::ExpandListArgument(std::string(var), argsSplit, true); @@ -1725,7 +1725,7 @@ int cmake::Generate() return 0; } -void cmake::AddCacheEntry(const char* key, const char* value, +void cmake::AddCacheEntry(const std::string& key, const char* value, const char* helpString, int type) { @@ -1734,7 +1734,7 @@ void cmake::AddCacheEntry(const char* key, const char* value, cmCacheManager::CacheEntryType(type)); } -const char* cmake::GetCacheDefinition(const char* name) const +const char* cmake::GetCacheDefinition(const std::string& name) const { return this->CacheManager->GetCacheValue(name); } @@ -2676,7 +2676,7 @@ int cmake::Build(const std::string& dir, nativeOptions); } -void cmake::WatchUnusedCli(const char* var) +void cmake::WatchUnusedCli(const std::string& var) { #ifdef CMAKE_BUILD_WITH_CMAKE this->VariableWatch->AddWatch(var, cmWarnUnusedCliWarning, this); @@ -2687,7 +2687,7 @@ void cmake::WatchUnusedCli(const char* var) #endif } -void cmake::UnwatchUnusedCli(const char* var) +void cmake::UnwatchUnusedCli(const std::string& var) { #ifdef CMAKE_BUILD_WITH_CMAKE this->VariableWatch->RemoveWatch(var, cmWarnUnusedCliWarning); diff --git a/Source/cmake.h b/Source/cmake.h index e89868c7b..2d78e8f00 100644 --- a/Source/cmake.h +++ b/Source/cmake.h @@ -203,9 +203,9 @@ class cmake /** * Given a variable name, return its value (as a string). */ - const char* GetCacheDefinition(const char*) const; + const char* GetCacheDefinition(const std::string&) const; ///! Add an entry into the cache - void AddCacheEntry(const char* key, const char* value, + void AddCacheEntry(const std::string& key, const char* value, const char* helpString, int type); @@ -357,12 +357,12 @@ class cmake const std::vector& nativeOptions, bool clean); - void UnwatchUnusedCli(const char* var); - void WatchUnusedCli(const char* var); + void UnwatchUnusedCli(const std::string& var); + void WatchUnusedCli(const std::string& var); protected: void RunCheckForUnusedVariables(); void InitializeProperties(); - int HandleDeleteCacheVariables(const char* var); + int HandleDeleteCacheVariables(const std::string& var); cmPropertyMap Properties; std::set > AccessedProperties;