diff options
author | Ken Martin <ken.martin@kitware.com> | 2003-06-23 20:26:48 (GMT) |
---|---|---|
committer | Ken Martin <ken.martin@kitware.com> | 2003-06-23 20:26:48 (GMT) |
commit | b56dcc2a303faf516bf64489fac8813b8142a38c (patch) | |
tree | da773bcae7b1a0e16447fb4cc6029997d001fa48 /Source/cmMacroCommand.cxx | |
parent | 116f39d840fb78dfe33300a10d9a8f22ba41ca3b (diff) | |
download | CMake-b56dcc2a303faf516bf64489fac8813b8142a38c.zip CMake-b56dcc2a303faf516bf64489fac8813b8142a38c.tar.gz CMake-b56dcc2a303faf516bf64489fac8813b8142a38c.tar.bz2 |
perf improvement
Diffstat (limited to 'Source/cmMacroCommand.cxx')
-rw-r--r-- | Source/cmMacroCommand.cxx | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx index e445814..fa013c7 100644 --- a/Source/cmMacroCommand.cxx +++ b/Source/cmMacroCommand.cxx @@ -44,6 +44,9 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf) // so we look for macro invocations if(lff.m_Name == m_Args[0]) { + std::string tmps; + cmListFileArgument arg; + std::string variable; // Expand the argument list to the macro. std::vector<std::string> expandedArguments; mf.ExpandArguments(lff.m_Arguments, expandedArguments); @@ -71,16 +74,17 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf) m_Functions[c].m_Arguments.begin(); k != m_Functions[c].m_Arguments.end(); ++k) { - std::string tmps = k->Value; + tmps = k->Value; for (unsigned int j = 1; j < m_Args.size(); ++j) { - std::string variable = "${"; + variable = "${"; variable += m_Args[j]; variable += "}"; cmSystemTools::ReplaceString(tmps, variable.c_str(), expandedArguments[j-1].c_str()); } - cmListFileArgument arg(tmps, k->Quoted); + arg.Value = tmps; + arg.Quoted = k->Quoted; newLFF.m_Arguments.push_back(arg); } if(!mf.ExecuteCommand(newLFF)) |