diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-02-21 10:25:47 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-02-21 10:25:47 (GMT) |
commit | c021f59c1f2f3d892b621a9ba163b069f2a2f0a9 (patch) | |
tree | aa49a9598baf779c7e5d8cb9dbc0f070e44ca0f8 /Source | |
parent | 2d130896a05ef14f2ef53ed472c6926a85cc5399 (diff) | |
download | CMake-c021f59c1f2f3d892b621a9ba163b069f2a2f0a9.zip CMake-c021f59c1f2f3d892b621a9ba163b069f2a2f0a9.tar.gz CMake-c021f59c1f2f3d892b621a9ba163b069f2a2f0a9.tar.bz2 |
cmMakefile: Store macro list in a vector not in a map.
The signature was computed (incorrectly) and stored as the map
value, but never used. Remove it now.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGetCMakePropertyCommand.cxx | 1 | ||||
-rw-r--r-- | Source/cmMacroCommand.cxx | 10 | ||||
-rw-r--r-- | Source/cmMakefile.cxx | 22 | ||||
-rw-r--r-- | Source/cmMakefile.h | 5 |
4 files changed, 10 insertions, 28 deletions
diff --git a/Source/cmGetCMakePropertyCommand.cxx b/Source/cmGetCMakePropertyCommand.cxx index 84c00ba..fd18596 100644 --- a/Source/cmGetCMakePropertyCommand.cxx +++ b/Source/cmGetCMakePropertyCommand.cxx @@ -39,6 +39,7 @@ bool cmGetCMakePropertyCommand } else if ( args[1] == "MACROS" ) { + output.clear(); this->Makefile->GetListOfMacros(output); } else if ( args[1] == "COMPONENTS" ) diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx index 29e8cb1..12c8576 100644 --- a/Source/cmMacroCommand.cxx +++ b/Source/cmMacroCommand.cxx @@ -224,15 +224,7 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf, // if this is the endmacro for this macro then execute if (!this->Depth) { - std::string name = this->Args[0]; - name += "("; - if (!this->Args.empty()) - { - name += " "; - name += cmJoin(this->Args, " "); - } - name += " )"; - mf.AddMacro(this->Args[0].c_str(), name.c_str()); + mf.AddMacro(this->Args[0].c_str()); // create a new command and add it to cmake cmMacroHelperCommand *f = new cmMacroHelperCommand(); f->Args = this->Args; diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index ab0d60a..93b2ce6 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -143,7 +143,7 @@ cmMakefile::cmMakefile(const cmMakefile& mf): Internal(new Internals) this->LocalGenerator = mf.LocalGenerator; this->FunctionBlockers = mf.FunctionBlockers; - this->MacrosMap = mf.MacrosMap; + this->MacrosList = mf.MacrosList; this->SubDirectoryOrder = mf.SubDirectoryOrder; this->Properties = mf.Properties; this->PreOrder = mf.PreOrder; @@ -3739,26 +3739,16 @@ cmVariableWatch *cmMakefile::GetVariableWatch() const } #endif -void cmMakefile::AddMacro(const char* name, const char* signature) +void cmMakefile::AddMacro(const char* name) { - if ( !name || !signature ) - { - return; - } - this->MacrosMap[name] = signature; + assert(name); + this->MacrosList.push_back(name); } void cmMakefile::GetListOfMacros(std::string& macros) const { - StringStringMap::const_iterator it; - macros = ""; - const char* sep = ""; - for ( it = this->MacrosMap.begin(); it != this->MacrosMap.end(); ++it ) - { - macros += sep; - macros += it->first; - sep = ";"; - } + assert(macros.empty()); + macros = cmJoin(this->MacrosList, ";"); } cmCacheManager *cmMakefile::GetCacheManager() const diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 895a2fc..e98f1d9 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -841,7 +841,7 @@ public: * Add a macro to the list of macros. The arguments should be name of the * macro and a documentation signature of it */ - void AddMacro(const char* name, const char* signature); + void AddMacro(const char* name); ///! Add a new cmTest to the list of tests for this makefile. cmTest* CreateTest(const std::string& testName); @@ -1065,8 +1065,7 @@ private: std::stack<int> LoopBlockCounter; - typedef std::map<std::string, std::string> StringStringMap; - StringStringMap MacrosMap; + std::vector<std::string> MacrosList; std::map<std::string, bool> SubDirectoryOrder; |