summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator.cxx')
-rw-r--r--Source/cmLocalUnixMakefileGenerator.cxx17
1 files changed, 12 insertions, 5 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator.cxx b/Source/cmLocalUnixMakefileGenerator.cxx
index e1f9eae..7493a06 100644
--- a/Source/cmLocalUnixMakefileGenerator.cxx
+++ b/Source/cmLocalUnixMakefileGenerator.cxx
@@ -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 += " ";
}
}