diff options
author | Brad King <brad.king@kitware.com> | 2006-10-13 17:59:59 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2006-10-13 17:59:59 (GMT) |
commit | fb7c7675f5e10865de79dfa050413f53e975831f (patch) | |
tree | 615ac034f5122470fadb4b7e92bca7adedf0692e /Source/cmMakefileLibraryTargetGenerator.cxx | |
parent | 5330a03994660ed59cf3f4b4cc4c2cf77999a59d (diff) | |
download | CMake-fb7c7675f5e10865de79dfa050413f53e975831f.zip CMake-fb7c7675f5e10865de79dfa050413f53e975831f.tar.gz CMake-fb7c7675f5e10865de79dfa050413f53e975831f.tar.bz2 |
BUG: When using link scripts use native shell escapes instead of makefile shell escapes because the script is not interpreted by a make tool.
Diffstat (limited to 'Source/cmMakefileLibraryTargetGenerator.cxx')
-rw-r--r-- | Source/cmMakefileLibraryTargetGenerator.cxx | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx index fa65215..dc7d37d 100644 --- a/Source/cmMakefileLibraryTargetGenerator.cxx +++ b/Source/cmMakefileLibraryTargetGenerator.cxx @@ -537,7 +537,21 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules objdir += this->Target->GetName(); objdir += ".dir"; vars.ObjectDir = objdir.c_str(); - vars.Target = targetOutPathReal.c_str(); + std::string targetLinkScriptPathReal; + if(useLinkScript) + { + // Paths in the link script are interpreted directly by the shell + // and not make. + targetLinkScriptPathReal = + this->Convert(targetFullPathReal.c_str(), + cmLocalGenerator::START_OUTPUT, + cmLocalGenerator::SHELL); + vars.Target = targetLinkScriptPathReal.c_str(); + } + else + { + vars.Target = targetOutPathReal.c_str(); + } std::string linkString = linklibs.str(); vars.LinkLibraries = linkString.c_str(); vars.ObjectsQuoted = buildObjs.c_str(); |