BUG: Cannot escape link items because some need the spaces to separate arguments. Instead just escape the argument to the loader flag.

This commit is contained in:
Brad King 2007-04-18 00:04:56 -04:00
parent 66d1930f56
commit 4241e699c7
1 changed files with 6 additions and 6 deletions

View File

@ -1585,7 +1585,7 @@ void cmLocalGenerator::OutputLinkLibraries(std::ostream& fout,
for(std::vector<cmStdString>::iterator lib = libNames.begin();
lib != libNames.end(); ++lib)
{
linkLibs += this->Convert(lib->c_str(), NONE, SHELL, false);
linkLibs += *lib;
linkLibs += " ";
}
@ -1715,17 +1715,17 @@ void cmLocalGenerator
// Pass the full path to the target file but purposely leave
// off the per-configuration subdirectory. The link directory
// ordering knows how to deal with this.
std::string linkItem;
std::string linkItem = tgt->GetDirectory(0, implib);
linkItem += "/";
linkItem += tgt->GetFullName(config, implib);
if(impexe && loader_flag)
{
// This link item is an executable that may provide symbols
// used by this target. A special flag is needed on this
// platform. Add it now.
linkItem += loader_flag;
linkItem = loader_flag +
this->Convert(linkItem.c_str(), NONE, SHELL, false);
}
linkItem += tgt->GetDirectory(0, implib);
linkItem += "/";
linkItem += tgt->GetFullName(config, implib);
linkLibraries.push_back(linkItem);
// For full path, use the true location.
if(fullPathLibs)