summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-02-21 10:25:47 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-02-21 10:25:47 (GMT)
commitc021f59c1f2f3d892b621a9ba163b069f2a2f0a9 (patch)
treeaa49a9598baf779c7e5d8cb9dbc0f070e44ca0f8 /Source
parent2d130896a05ef14f2ef53ed472c6926a85cc5399 (diff)
downloadCMake-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.cxx1
-rw-r--r--Source/cmMacroCommand.cxx10
-rw-r--r--Source/cmMakefile.cxx22
-rw-r--r--Source/cmMakefile.h5
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;