BUG: use full paths via pwd for -L paths on unix shells

This commit is contained in:
Bill Hoffman 2003-12-24 10:51:43 -05:00
parent 06bf73f9c3
commit f3c42f593e
1 changed files with 12 additions and 5 deletions

View File

@ -697,6 +697,16 @@ void cmLocalUnixMakefileGenerator::OutputLinkLibraries(std::ostream& fout,
std::string libpath = this->ConvertToOutputForExisting(libDir->c_str());
if(emitted.insert(libpath).second)
{
std::string fullLibPath;
if(!m_WindowsShell)
{
fullLibPath = "\"`cd ";
}
fullLibPath += libpath;
if(!m_WindowsShell)
{
fullLibPath += ";pwd`\"";
}
std::string::size_type pos = libDir->find(libPathFlag.c_str());
if((pos == std::string::npos || pos > 0)
&& libDir->find("${") == std::string::npos)
@ -704,13 +714,10 @@ void cmLocalUnixMakefileGenerator::OutputLinkLibraries(std::ostream& fout,
linkLibs += libPathFlag;
if(outputRuntime)
{
std::string rpath = "\"`cd ";
rpath += libpath;
rpath += ";pwd`\"";
runtimeDirs.push_back( rpath );
runtimeDirs.push_back( fullLibPath );
}
}
linkLibs += libpath;
linkLibs += fullLibPath;
linkLibs += " ";
}
}