diff options
Diffstat (limited to 'Source/cmLocalGenerator.cxx')
-rw-r--r-- | Source/cmLocalGenerator.cxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 9d65c2b..cb60d47 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1392,10 +1392,11 @@ cmLocalGenerator::ComputeLinkInformation(cmTarget& target, if(tgt) { // This is a CMake target. Ask the target for its real name. - linkLibraries.push_back(tgt->GetFullName(config)); + std::string realLibrary = tgt->GetFullPath(config); + linkLibraries.push_back(realLibrary); if(fullPathLibs) { - fullPathLibs->push_back(tgt->GetFullPath(config)); + fullPathLibs->push_back(realLibrary); } } else @@ -1433,9 +1434,14 @@ cmLocalGenerator::ComputeLinkInformation(cmTarget& target, orderLibs.AddLinkExtension(i->c_str()); } } + std::string configSubdir; + cmGlobalGenerator* gg = this->GetGlobalGenerator(); + gg->AppendDirectoryForConfig("", config, "", configSubdir); orderLibs.SetLinkInformation(target.GetName(), linkLibraries, - linkDirectories); + linkDirectories, + gg->GetTargetManifest(), + configSubdir.c_str()); orderLibs.DetermineLibraryPathOrder(); std::vector<cmStdString> orderedLibs; orderLibs.GetLinkerInformation(outDirs, orderedLibs); |