From 4651dbcfc64836988649c2ca7e3e30c811723eb2 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Tue, 5 Mar 2002 18:41:24 -0500 Subject: [PATCH] ENH: expand variables in arguments before the commands get them --- Source/cmAddCustomCommandCommand.cxx | 4 +--- Source/cmAddCustomTargetCommand.cxx | 9 +++------ Source/cmAddDefinitionsCommand.cxx | 4 +--- Source/cmAddDependenciesCommand.cxx | 13 +------------ Source/cmAddExecutableCommand.cxx | 7 ------- Source/cmAddLibraryCommand.cxx | 6 +----- Source/cmAddTestCommand.cxx | 4 +--- Source/cmBuildCommand.cxx | 1 - Source/cmCableClassSetCommand.cxx | 13 +++---------- Source/cmCableWrapTclCommand.cxx | 12 ++---------- Source/cmConfigureFileCommand.cxx | 2 -- Source/cmElseCommand.cxx | 4 +--- Source/cmEndIfCommand.cxx | 1 - Source/cmExecProgramCommand.cxx | 5 +---- Source/cmFindFileCommand.cxx | 5 +---- Source/cmFindLibraryCommand.cxx | 3 --- Source/cmFindPathCommand.cxx | 1 - Source/cmFindProgramCommand.cxx | 2 -- Source/cmGetFilenameComponentCommand.cxx | 1 - Source/cmIfCommand.cxx | 5 +---- Source/cmIncludeCommand.cxx | 6 ++---- Source/cmIncludeExternalMSProjectCommand.cxx | 1 - Source/cmInstallFilesCommand.cxx | 2 -- Source/cmInstallProgramsCommand.cxx | 5 +---- Source/cmLoadCacheCommand.cxx | 8 ++------ Source/cmMakeDirectoryCommand.cxx | 4 +--- Source/cmMakefile.cxx | 16 ++++++++++++++-- Source/cmMessageCommand.cxx | 1 - Source/cmOptionCommand.cxx | 1 - Source/cmOutputRequiredFilesCommand.cxx | 4 ---- Source/cmSetCommand.cxx | 2 -- Source/cmSourceFilesCommand.cxx | 2 -- Source/cmSubdirCommand.cxx | 4 +--- Source/cmSystemTools.cxx | 1 - Source/cmUnixMakefileGenerator.cxx | 2 +- Source/cmUseMangledMesaCommand.cxx | 7 ++----- Source/cmVTKMakeInstantiatorCommand.cxx | 14 +++----------- 37 files changed, 44 insertions(+), 138 deletions(-) diff --git a/Source/cmAddCustomCommandCommand.cxx b/Source/cmAddCustomCommandCommand.cxx index 39557a600..eb5396185 100644 --- a/Source/cmAddCustomCommandCommand.cxx +++ b/Source/cmAddCustomCommandCommand.cxx @@ -48,8 +48,7 @@ bool cmAddCustomCommandCommand::InitialPass(std::vector const& args for (unsigned int j = 0; j < args.size(); ++j) { - std::string copy = args[j]; - m_Makefile->ExpandVariablesInString(copy); + std::string const& copy = args[j]; if(copy == "SOURCE") { @@ -124,7 +123,6 @@ bool cmAddCustomCommandCommand::InitialPass(std::vector const& args this->SetError("Wrong syntax. Empty TARGET."); return false; } - m_Makefile->AddCustomCommand(source.c_str(), command.c_str(), command_args, diff --git a/Source/cmAddCustomTargetCommand.cxx b/Source/cmAddCustomTargetCommand.cxx index c7b58fcc1..d03d4d29e 100644 --- a/Source/cmAddCustomTargetCommand.cxx +++ b/Source/cmAddCustomTargetCommand.cxx @@ -17,9 +17,8 @@ #include "cmAddCustomTargetCommand.h" // cmAddCustomTargetCommand -bool cmAddCustomTargetCommand::InitialPass(std::vector const& argsIn) +bool cmAddCustomTargetCommand::InitialPass(std::vector const& args) { - std::vector args = argsIn; bool all = false; if(args.size() < 2 ) @@ -27,11 +26,10 @@ bool cmAddCustomTargetCommand::InitialPass(std::vector const& argsI this->SetError("called with incorrect number of arguments"); return false; } - m_Makefile->ExpandVariablesInString(args[0]); // all target option std::string arguments; - std::vector::iterator s = args.begin(); + std::vector::const_iterator s = args.begin(); ++s; // move past args[0] as it is already to be used if (args.size() >= 3) { @@ -44,12 +42,11 @@ bool cmAddCustomTargetCommand::InitialPass(std::vector const& argsI std::string command; if(s != args.end()) { - command = m_Makefile->ExpandVariablesInString(*s); + command = *s; ++s; } for (;s != args.end(); ++s) { - m_Makefile->ExpandVariablesInString(*s); arguments += cmSystemTools::EscapeSpaces(s->c_str()); arguments += " "; } diff --git a/Source/cmAddDefinitionsCommand.cxx b/Source/cmAddDefinitionsCommand.cxx index 201026716..70846dfdb 100644 --- a/Source/cmAddDefinitionsCommand.cxx +++ b/Source/cmAddDefinitionsCommand.cxx @@ -27,9 +27,7 @@ bool cmAddDefinitionsCommand::InitialPass(std::vector const& args) for(std::vector::const_iterator i = args.begin(); i != args.end(); ++i) { - std::string str = *i; - m_Makefile->ExpandVariablesInString(str); - m_Makefile->AddDefineFlag(str.c_str()); + m_Makefile->AddDefineFlag(i->c_str()); } return true; } diff --git a/Source/cmAddDependenciesCommand.cxx b/Source/cmAddDependenciesCommand.cxx index e8f5c6a27..c4cc00ced 100644 --- a/Source/cmAddDependenciesCommand.cxx +++ b/Source/cmAddDependenciesCommand.cxx @@ -27,7 +27,6 @@ bool cmAddDependenciesCommand::InitialPass(std::vector const& args) } std::string target_name = args[0]; - m_Makefile->ExpandVariablesInString(target_name); cmTargets &tgts = m_Makefile->GetTargets(); if (tgts.find(target_name) != tgts.end()) @@ -37,21 +36,11 @@ bool cmAddDependenciesCommand::InitialPass(std::vector const& args) std::string depend_target; for (; s != args.end(); ++s) { - depend_target = *s; - m_Makefile->ExpandVariablesInString(depend_target); - tgts[target_name].AddUtility(depend_target.c_str()); + tgts[target_name].AddUtility(s->c_str()); } } else { - std::cerr << "existing targets are:"; - - for(cmTargets::iterator i = tgts.begin(); - i != tgts.end(); ++i) - { - std::cerr << i->first << std::endl; - } - std::string error = "Adding dependency to non-existent target: "; error += target_name; this->SetError(error.c_str()); diff --git a/Source/cmAddExecutableCommand.cxx b/Source/cmAddExecutableCommand.cxx index fa062696b..83ca862f0 100644 --- a/Source/cmAddExecutableCommand.cxx +++ b/Source/cmAddExecutableCommand.cxx @@ -29,7 +29,6 @@ bool cmAddExecutableCommand::InitialPass(std::vector const& args) std::vector::const_iterator s = args.begin(); std::string exename = *s; - m_Makefile->ExpandVariablesInString(exename); ++s; bool use_win32 = false; @@ -41,12 +40,6 @@ bool cmAddExecutableCommand::InitialPass(std::vector const& args) } std::vector srclists(s, args.end()); - for(std::vector::iterator j = srclists.begin(); - j != srclists.end(); ++j) - { - m_Makefile->ExpandVariablesInString(*j); - } - m_Makefile->AddExecutable(exename.c_str(), srclists, use_win32); return true; diff --git a/Source/cmAddLibraryCommand.cxx b/Source/cmAddLibraryCommand.cxx index 8e4f75b4d..445d40535 100644 --- a/Source/cmAddLibraryCommand.cxx +++ b/Source/cmAddLibraryCommand.cxx @@ -33,7 +33,6 @@ bool cmAddLibraryCommand::InitialPass(std::vector const& args) std::vector::const_iterator s = args.begin(); std::string libname = *s; - m_Makefile->ExpandVariablesInString(libname); ++s; @@ -43,7 +42,6 @@ bool cmAddLibraryCommand::InitialPass(std::vector const& args) if(s != args.end()) { std::string libType = *s; - m_Makefile->ExpandVariablesInString(libType); if(libType == "STATIC") { ++s; @@ -64,9 +62,7 @@ bool cmAddLibraryCommand::InitialPass(std::vector const& args) std::vector srclists; while (s != args.end()) { - std::string copy = *s; - m_Makefile->ExpandVariablesInString(copy); - srclists.push_back(copy); + srclists.push_back(*s); ++s; } diff --git a/Source/cmAddTestCommand.cxx b/Source/cmAddTestCommand.cxx index 01f297a3b..37271fd7e 100644 --- a/Source/cmAddTestCommand.cxx +++ b/Source/cmAddTestCommand.cxx @@ -38,9 +38,7 @@ bool cmAddTestCommand::InitialPass(std::vector const& args) for (std::vector::const_iterator j = args.begin(); j != args.end(); ++j) { - temp = *j; - m_Makefile->ExpandVariablesInString(temp); - m_Args.push_back(temp); + m_Args.push_back(*j); } return true; diff --git a/Source/cmBuildCommand.cxx b/Source/cmBuildCommand.cxx index a8e753ef7..b3c7268e8 100644 --- a/Source/cmBuildCommand.cxx +++ b/Source/cmBuildCommand.cxx @@ -33,7 +33,6 @@ bool cmBuildCommand::InitialPass(std::vector const& args) } std::string makecommand; std::string makeprogram = args[1]; - m_Makefile->ExpandVariablesInString(makeprogram); if(makeprogram.find("msdev") != std::string::npos || makeprogram.find("MSDEV") != std::string::npos ) { diff --git a/Source/cmCableClassSetCommand.cxx b/Source/cmCableClassSetCommand.cxx index 7627d6424..ae6ddcf8b 100644 --- a/Source/cmCableClassSetCommand.cxx +++ b/Source/cmCableClassSetCommand.cxx @@ -19,21 +19,14 @@ #include "cmTarget.h" // cmCableClassSetCommand -bool cmCableClassSetCommand::InitialPass(std::vector const& argsIn) +bool cmCableClassSetCommand::InitialPass(std::vector const& args) { - if(argsIn.size() < 2) + if(args.size() < 2) { this->SetError("called with incorrect number of arguments"); return false; } - std::vector args = argsIn; - // First, we want to expand all CMAKE variables in all arguments. - for(std::vector::iterator a = args.begin(); - a != args.end(); ++a) - { - m_Makefile->ExpandVariablesInString(*a); - } - + // The first argument is the name of the set. std::vector::const_iterator arg = args.begin(); m_ClassSetName = *arg++; diff --git a/Source/cmCableWrapTclCommand.cxx b/Source/cmCableWrapTclCommand.cxx index e0dd7d061..21750a1fa 100644 --- a/Source/cmCableWrapTclCommand.cxx +++ b/Source/cmCableWrapTclCommand.cxx @@ -122,22 +122,14 @@ cmCableWrapTclCommand::~cmCableWrapTclCommand() // cmCableWrapTclCommand -bool cmCableWrapTclCommand::InitialPass(std::vector const& argsIn) +bool cmCableWrapTclCommand::InitialPass(std::vector const& args) { - if(argsIn.size() < 2) + if(args.size() < 2) { this->SetError("called with incorrect number of arguments"); return false; } - std::vector args = argsIn; - // First, we want to expand all CMAKE variables in all arguments. - for(std::vector::iterator a = args.begin(); - a != args.end(); ++a) - { - m_Makefile->ExpandVariablesInString(*a); - } - // Prepare to iterate through the arguments. std::vector::const_iterator arg = args.begin(); diff --git a/Source/cmConfigureFileCommand.cxx b/Source/cmConfigureFileCommand.cxx index 03ca140ea..d05d9fe15 100644 --- a/Source/cmConfigureFileCommand.cxx +++ b/Source/cmConfigureFileCommand.cxx @@ -70,9 +70,7 @@ void cmConfigureFileCommand::FinalPass() void cmConfigureFileCommand::ConfigureFile() { - m_Makefile->ExpandVariablesInString(m_InputFile); m_Makefile->AddCMakeDependFile(m_InputFile.c_str()); - m_Makefile->ExpandVariablesInString(m_OuputFile); cmSystemTools::ConvertToUnixSlashes(m_OuputFile); std::string::size_type pos = m_OuputFile.rfind('/'); if(pos != std::string::npos) diff --git a/Source/cmElseCommand.cxx b/Source/cmElseCommand.cxx index fbff49119..046fa88fc 100644 --- a/Source/cmElseCommand.cxx +++ b/Source/cmElseCommand.cxx @@ -51,9 +51,7 @@ bool cmElseCommand::InitialPass(std::vector const& args) if (args.size() == 2 && (args[0] == "EXISTS")) { - std::string tmp = args[1]; - m_Makefile->ExpandVariablesInString(tmp); - if(cmSystemTools::FileExists(tmp.c_str())) + if(cmSystemTools::FileExists(args[1].c_str())) { f = new cmIfFunctionBlocker(); } diff --git a/Source/cmEndIfCommand.cxx b/Source/cmEndIfCommand.cxx index 9b6ac89b7..7b46eaa8b 100644 --- a/Source/cmEndIfCommand.cxx +++ b/Source/cmEndIfCommand.cxx @@ -24,7 +24,6 @@ bool cmEndIfCommand::InitialPass(std::vector const& args) this->SetError("called with incorrect number of arguments"); return false; } - // remove any function blockers for this define m_Makefile->RemoveFunctionBlocker("ENDIF",args); diff --git a/Source/cmExecProgramCommand.cxx b/Source/cmExecProgramCommand.cxx index 1953e3394..bd4061322 100644 --- a/Source/cmExecProgramCommand.cxx +++ b/Source/cmExecProgramCommand.cxx @@ -18,19 +18,16 @@ #include "cmSystemTools.h" // cmExecProgramCommand -bool cmExecProgramCommand::InitialPass(std::vector const& argsIn) +bool cmExecProgramCommand::InitialPass(std::vector const& args) { - std::vector args = argsIn; if(args.size() < 1 ) { this->SetError("called with incorrect number of arguments"); return false; } std::string output; - m_Makefile->ExpandVariablesInString(args[0]); if(args.size() == 2) { - m_Makefile->ExpandVariablesInString(args[1]); cmSystemTools::MakeDirectory(args[1].c_str()); std::string command; command = "cd "; diff --git a/Source/cmFindFileCommand.cxx b/Source/cmFindFileCommand.cxx index 10475e5f9..6ef0cbfa3 100644 --- a/Source/cmFindFileCommand.cxx +++ b/Source/cmFindFileCommand.cxx @@ -65,11 +65,8 @@ bool cmFindFileCommand::InitialPass(std::vector const& argsIn) // add any user specified paths for (unsigned int j = 2; j < args.size(); j++) { - // expand variables - std::string exp = args[j]; - m_Makefile->ExpandVariablesInString(exp); // Glob the entry in case of wildcards. - cmSystemTools::GlobDirs(exp.c_str(), path); + cmSystemTools::GlobDirs(args[j].c_str(), path); } // add the standard path diff --git a/Source/cmFindLibraryCommand.cxx b/Source/cmFindLibraryCommand.cxx index 2c5f501f6..e3f3b129d 100644 --- a/Source/cmFindLibraryCommand.cxx +++ b/Source/cmFindLibraryCommand.cxx @@ -63,14 +63,12 @@ bool cmFindLibraryCommand::InitialPass(std::vector const& argsIn) } else { - m_Makefile->ExpandVariablesInString(args[j]); if(doingNames) { names.push_back(args[j]); } else { - cmSystemTools::ExpandRegistryValues(args[j]); // Glob the entry in case of wildcards. cmSystemTools::GlobDirs(args[j].c_str(), path); } @@ -87,7 +85,6 @@ bool cmFindLibraryCommand::InitialPass(std::vector const& argsIn) { // expand variables std::string exp = args[j]; - m_Makefile->ExpandVariablesInString(exp); cmSystemTools::ExpandRegistryValues(exp); // Glob the entry in case of wildcards. diff --git a/Source/cmFindPathCommand.cxx b/Source/cmFindPathCommand.cxx index 8016b21ca..a3c7dae0b 100644 --- a/Source/cmFindPathCommand.cxx +++ b/Source/cmFindPathCommand.cxx @@ -68,7 +68,6 @@ bool cmFindPathCommand::InitialPass(std::vector const& argsIn) { // expand variables std::string exp = args[j]; - m_Makefile->ExpandVariablesInString(exp); cmSystemTools::ExpandRegistryValues(exp); // Glob the entry in case of wildcards. diff --git a/Source/cmFindProgramCommand.cxx b/Source/cmFindProgramCommand.cxx index e34dd9e8d..4fc27597b 100644 --- a/Source/cmFindProgramCommand.cxx +++ b/Source/cmFindProgramCommand.cxx @@ -86,7 +86,6 @@ bool cmFindProgramCommand::InitialPass(std::vector const& argsIn) } else { - m_Makefile->ExpandVariablesInString(args[j]); if(doingNames) { names.push_back(args[j]); @@ -110,7 +109,6 @@ bool cmFindProgramCommand::InitialPass(std::vector const& argsIn) { // expand variables std::string exp = args[j]; - m_Makefile->ExpandVariablesInString(exp); cmSystemTools::ExpandRegistryValues(exp); // Glob the entry in case of wildcards. diff --git a/Source/cmGetFilenameComponentCommand.cxx b/Source/cmGetFilenameComponentCommand.cxx index b7371d9f0..bd3958c88 100644 --- a/Source/cmGetFilenameComponentCommand.cxx +++ b/Source/cmGetFilenameComponentCommand.cxx @@ -39,7 +39,6 @@ bool cmGetFilenameComponentCommand::InitialPass(std::vector const& std::string result; std::string filename = args[1]; - m_Makefile->ExpandVariablesInString(filename); if (args[2] == "PATH") { diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx index f64fba8cb..2146a5ed3 100644 --- a/Source/cmIfCommand.cxx +++ b/Source/cmIfCommand.cxx @@ -76,7 +76,6 @@ bool cmIfCommand::InitialPass(std::vector const& args) this->SetError("called with incorrect number of arguments"); return false; } - // create a function blocker cmIfFunctionBlocker *f = NULL; @@ -112,9 +111,7 @@ bool cmIfCommand::InitialPass(std::vector const& args) if (args.size() == 2 && (args[0] == "EXISTS")) { - std::string tmp = args[1]; - m_Makefile->ExpandVariablesInString(tmp); - if(!cmSystemTools::FileExists(tmp.c_str())) + if(!cmSystemTools::FileExists(args[1].c_str())) { f = new cmIfFunctionBlocker(); } diff --git a/Source/cmIncludeCommand.cxx b/Source/cmIncludeCommand.cxx index 9a59be294..6cda4a504 100644 --- a/Source/cmIncludeCommand.cxx +++ b/Source/cmIncludeCommand.cxx @@ -18,15 +18,13 @@ // cmIncludeCommand -bool cmIncludeCommand::InitialPass(std::vector const& argsIn) +bool cmIncludeCommand::InitialPass(std::vector const& args) { - if (argsIn.size()< 1 || argsIn.size() > 2) + if (args.size()< 1 || args.size() > 2) { this->SetError("called with wrong number of arguments. " "Include only takes one file."); } - std::vector args = argsIn; - m_Makefile->ExpandVariablesInString( args[0]); bool exists = cmSystemTools::FileExists(args[0].c_str()); if(args.size() == 2 && args[1] == "OPTIONAL" && !exists) { diff --git a/Source/cmIncludeExternalMSProjectCommand.cxx b/Source/cmIncludeExternalMSProjectCommand.cxx index 3c566f29d..902bd1846 100644 --- a/Source/cmIncludeExternalMSProjectCommand.cxx +++ b/Source/cmIncludeExternalMSProjectCommand.cxx @@ -29,7 +29,6 @@ bool cmIncludeExternalMSProjectCommand::InitialPass(std::vector con if(m_Makefile->GetDefinition("WIN32")) { std::string location = args[1]; - m_Makefile->ExpandVariablesInString(location); std::vector name_and_location; name_and_location.push_back(args[0]); diff --git a/Source/cmInstallFilesCommand.cxx b/Source/cmInstallFilesCommand.cxx index ed4ba9e47..8874957d6 100644 --- a/Source/cmInstallFilesCommand.cxx +++ b/Source/cmInstallFilesCommand.cxx @@ -61,7 +61,6 @@ void cmInstallFilesCommand::FinalPass() { // replace any variables std::string temps = *s; - m_Makefile->ExpandVariablesInString(temps); // look for a srclist if (m_Makefile->GetSources().find(temps) != m_Makefile->GetSources().end()) { @@ -88,7 +87,6 @@ void cmInstallFilesCommand::FinalPass() { std::vector files; std::string regex = m_FinalArgs[0].c_str(); - m_Makefile->ExpandVariablesInString(regex); cmSystemTools::Glob(m_Makefile->GetCurrentDirectory(), regex.c_str(), files); diff --git a/Source/cmInstallProgramsCommand.cxx b/Source/cmInstallProgramsCommand.cxx index e165bae87..d805e30f7 100644 --- a/Source/cmInstallProgramsCommand.cxx +++ b/Source/cmInstallProgramsCommand.cxx @@ -55,11 +55,8 @@ void cmInstallProgramsCommand::FinalPass() for (std::vector::iterator s = m_FinalArgs.begin(); s != m_FinalArgs.end(); ++s) { - // replace any variables - std::string temps = *s; - m_Makefile->ExpandVariablesInString(temps); // add to the result - targetSourceLists.push_back(temps); + targetSourceLists.push_back(*s); } } else // reg exp list diff --git a/Source/cmLoadCacheCommand.cxx b/Source/cmLoadCacheCommand.cxx index 9ea56e6ab..988cec530 100644 --- a/Source/cmLoadCacheCommand.cxx +++ b/Source/cmLoadCacheCommand.cxx @@ -18,13 +18,12 @@ // cmLoadcacheCommand -bool cmLoadCacheCommand::InitialPass(std::vector const& argsIn) +bool cmLoadCacheCommand::InitialPass(std::vector const& args) { - if (argsIn.size()< 1) + if (args.size()< 1) { this->SetError("called with wrong number of arguments."); } - std::vector args = argsIn; // Cache entries to be excluded from the import list. // If this set is empty, all cache entries are brought in @@ -37,7 +36,6 @@ bool cmLoadCacheCommand::InitialPass(std::vector const& argsIn) { if (excludeFiles) { - m_Makefile->ExpandVariablesInString(args[i]); excludes.insert(args[i]); } if (args[i] == "EXCLUDE") @@ -60,7 +58,6 @@ bool cmLoadCacheCommand::InitialPass(std::vector const& argsIn) { if (includeFiles) { - m_Makefile->ExpandVariablesInString(args[i]); includes.insert(args[i]); } if (args[i] == "INCLUDE_INTERNALS") @@ -81,7 +78,6 @@ bool cmLoadCacheCommand::InitialPass(std::vector const& argsIn) { break; } - m_Makefile->ExpandVariablesInString(args[i]); cmCacheManager::GetInstance()->LoadCache(args[i].c_str(), false, excludes, includes); } diff --git a/Source/cmMakeDirectoryCommand.cxx b/Source/cmMakeDirectoryCommand.cxx index aa6ebc464..4f7f8e765 100644 --- a/Source/cmMakeDirectoryCommand.cxx +++ b/Source/cmMakeDirectoryCommand.cxx @@ -25,9 +25,7 @@ bool cmMakeDirectoryCommand::InitialPass(std::vector const& args) this->SetError("called with incorrect number of arguments"); return false; } - std::string arg = args[0]; - m_Makefile->ExpandVariablesInString(arg); - cmSystemTools::MakeDirectory(arg.c_str()); + cmSystemTools::MakeDirectory(args[0].c_str()); return true; } diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index d863ca3a9..95a06580a 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -210,7 +210,13 @@ void cmMakefile::ExecuteCommand(std::string &name, // if the command is inherited then InitialPass it. if(!m_Inheriting || usedCommand->IsInherited()) { - if(!usedCommand->InitialPass(arguments)) + std::vector expandedArguments = arguments; + for(std::vector::iterator i = expandedArguments.begin(); + i != expandedArguments.end(); ++i) + { + this->ExpandVariablesInString(*i); + } + if(!usedCommand->InitialPass(expandedArguments)) { cmSystemTools::Error(usedCommand->GetName(), ": Error : \n", @@ -1171,10 +1177,16 @@ bool cmMakefile::IsFunctionBlocked(const char *name, { // loop over all function blockers to see if any block this command std::set::const_iterator pos; + std::vector expandedArguments = args; + for(std::vector::iterator i = expandedArguments.begin(); + i != expandedArguments.end(); ++i) + { + this->ExpandVariablesInString(*i); + } for (pos = m_FunctionBlockers.begin(); pos != m_FunctionBlockers.end(); ++pos) { - if ((*pos)->IsFunctionBlocked(name, args, *this)) + if ((*pos)->IsFunctionBlocked(name, expandedArguments, *this)) { return true; } diff --git a/Source/cmMessageCommand.cxx b/Source/cmMessageCommand.cxx index 3c9f42347..f1ade11bd 100644 --- a/Source/cmMessageCommand.cxx +++ b/Source/cmMessageCommand.cxx @@ -31,7 +31,6 @@ bool cmMessageCommand::InitialPass(std::vector const& args) { message += *i; } - m_Makefile->ExpandVariablesInString(message); cmSystemTools::Message(message.c_str()); return true; } diff --git a/Source/cmOptionCommand.cxx b/Source/cmOptionCommand.cxx index 24295063e..8c389f8fa 100644 --- a/Source/cmOptionCommand.cxx +++ b/Source/cmOptionCommand.cxx @@ -35,7 +35,6 @@ bool cmOptionCommand::InitialPass(std::vector const& args) if(args.size() == 3) { initialValue = args[2]; - m_Makefile->ExpandVariablesInString(initialValue); } m_Makefile->AddCacheDefinition(args[0].c_str(), cmSystemTools::IsOn(initialValue.c_str()), diff --git a/Source/cmOutputRequiredFilesCommand.cxx b/Source/cmOutputRequiredFilesCommand.cxx index 53ba04de1..8fcba47a9 100644 --- a/Source/cmOutputRequiredFilesCommand.cxx +++ b/Source/cmOutputRequiredFilesCommand.cxx @@ -185,10 +185,6 @@ void cmOutputRequiredFilesCommand::FinalPass() cmLBDepend md; md.SetMakefile(m_Makefile); - // always expand the first argument - m_Makefile->ExpandVariablesInString(m_File); - m_Makefile->ExpandVariablesInString(m_OutputFile); - // find the depends for a file const cmDependInformation *info = md.FindDependencies(m_File.c_str()); if (info) diff --git a/Source/cmSetCommand.cxx b/Source/cmSetCommand.cxx index 48eaffcd2..122df61b8 100644 --- a/Source/cmSetCommand.cxx +++ b/Source/cmSetCommand.cxx @@ -88,8 +88,6 @@ bool cmSetCommand::InitialPass(std::vector const& args) type = cmCacheManager::StringToType(args[cacheStart+1].c_str()); docstring = args[cacheStart+2].c_str(); } - // always expand the first argument - m_Makefile->ExpandVariablesInString(value); // get the current cache value for the variable const char* cacheValue = m_Makefile->GetDefinition(variable); diff --git a/Source/cmSourceFilesCommand.cxx b/Source/cmSourceFilesCommand.cxx index 2cdca93fe..db87a76f1 100644 --- a/Source/cmSourceFilesCommand.cxx +++ b/Source/cmSourceFilesCommand.cxx @@ -26,7 +26,6 @@ bool cmSourceFilesCommand::InitialPass(std::vector const& args) } std::string name = args[0]; - m_Makefile->ExpandVariablesInString(name); int generated = 0; @@ -42,7 +41,6 @@ bool cmSourceFilesCommand::InitialPass(std::vector const& args) continue; } cmSourceFile file; - m_Makefile->ExpandVariablesInString(copy); file.SetIsAnAbstractClass(false); std::string path = cmSystemTools::GetFilenamePath(copy); if ( generated ) diff --git a/Source/cmSubdirCommand.cxx b/Source/cmSubdirCommand.cxx index 585fed931..f5825b403 100644 --- a/Source/cmSubdirCommand.cxx +++ b/Source/cmSubdirCommand.cxx @@ -24,12 +24,10 @@ bool cmSubdirCommand::InitialPass(std::vector const& args) this->SetError("called with incorrect number of arguments"); return false; } - std::string temp; for(std::vector::const_iterator i = args.begin(); i != args.end(); ++i) { - temp = *i; - m_Makefile->AddSubDirectory(m_Makefile->ExpandVariablesInString(temp)); + m_Makefile->AddSubDirectory(i->c_str()); } return true; } diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 8d677a288..9893b6400 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -1040,7 +1040,6 @@ bool cmSystemTools::RunCommand(const char* command, retVal = pclose(cpipe); retVal = WEXITSTATUS(retVal); - std::cout << "*** cmSystemTools: return value from " << command << " is "<< retVal << "\n"; return true; #endif } diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx index 721a5e7fe..83541c54d 100644 --- a/Source/cmUnixMakefileGenerator.cxx +++ b/Source/cmUnixMakefileGenerator.cxx @@ -1796,7 +1796,7 @@ void cmUnixMakefileGenerator::OutputMakeRules(std::ostream& fout) "run any tests", "test", "", - ctest.c_str()); + this->ConvertToOutputPath(ctest.c_str()).c_str()); } } diff --git a/Source/cmUseMangledMesaCommand.cxx b/Source/cmUseMangledMesaCommand.cxx index 16e5951ee..3c3f3f61d 100644 --- a/Source/cmUseMangledMesaCommand.cxx +++ b/Source/cmUseMangledMesaCommand.cxx @@ -18,19 +18,16 @@ #include "cmSystemTools.h" // cmUseMangledMesaCommand -bool cmUseMangledMesaCommand::InitialPass(std::vector const& argsIn) +bool cmUseMangledMesaCommand::InitialPass(std::vector const& args) { // expected two arguments: // arguement one: the full path to gl_mangle.h // arguement two : directory for output of edited headers - if(argsIn.size() < 2) + if(args.size() < 2) { this->SetError("called with incorrect number of arguments"); return false; } - std::vector args = argsIn; - m_Makefile->ExpandVariablesInString(args[0]); - m_Makefile->ExpandVariablesInString(args[1]); const char* inputDir = args[0].c_str(); const char* destDir = args[1].c_str(); std::vector files; diff --git a/Source/cmVTKMakeInstantiatorCommand.cxx b/Source/cmVTKMakeInstantiatorCommand.cxx index 1f9edc588..5e4e0c7a2 100644 --- a/Source/cmVTKMakeInstantiatorCommand.cxx +++ b/Source/cmVTKMakeInstantiatorCommand.cxx @@ -29,10 +29,8 @@ cmVTKMakeInstantiatorCommand } m_ClassName = args[0]; - m_Makefile->ExpandVariablesInString(m_ClassName); std::string outSourceList = args[1]; - m_Makefile->ExpandVariablesInString(outSourceList); std::vector inSourceLists; m_ExportMacro = "-"; @@ -50,9 +48,7 @@ cmVTKMakeInstantiatorCommand includesMode = false; if(++i < args.size()) { - std::string gSize = args[i].c_str(); - m_Makefile->ExpandVariablesInString(gSize); - groupSize = atoi(gSize.c_str()); + groupSize = atoi(args[i].c_str()); } else { @@ -66,7 +62,6 @@ cmVTKMakeInstantiatorCommand if(++i < args.size()) { headerPath = args[i]; - m_Makefile->ExpandVariablesInString(headerPath); } else { @@ -80,7 +75,6 @@ cmVTKMakeInstantiatorCommand if(++i < args.size()) { m_ExportMacro = args[i]; - m_Makefile->ExpandVariablesInString(m_ExportMacro); } else { @@ -96,15 +90,13 @@ cmVTKMakeInstantiatorCommand // an include file. else { - std::string s = args[i]; - m_Makefile->ExpandVariablesInString(s); if(!includesMode) { - inSourceLists.push_back(s); + inSourceLists.push_back(args[i]); } else { - m_Includes.push_back(s); + m_Includes.push_back(args[i]); } } }