summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmLocalGenerator.cxx14
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index bd4b9b0..a8b038e 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1399,6 +1399,8 @@ cmLocalGenerator::ComputeLinkInformation(cmTarget& target,
linkItem += "/";
linkItem += tgt->GetFullName(config);
linkLibraries.push_back(linkItem);
+
+ // For full path, use the true location.
if(fullPathLibs)
{
fullPathLibs->push_back(tgt->GetFullPath(config));
@@ -1408,6 +1410,14 @@ cmLocalGenerator::ComputeLinkInformation(cmTarget& target,
{
// This is not a CMake target. Use the name given.
linkLibraries.push_back(lib);
+
+ // Add to the list of full paths if this library is one.
+ if(fullPathLibs &&
+ cmSystemTools::FileIsFullPath(lib.c_str()) &&
+ !cmSystemTools::FileIsDirectory(lib.c_str()))
+ {
+ fullPathLibs->push_back(lib);
+ }
}
}
}
@@ -1450,10 +1460,6 @@ cmLocalGenerator::ComputeLinkInformation(cmTarget& target,
orderLibs.DetermineLibraryPathOrder();
std::vector<cmStdString> orderedLibs;
orderLibs.GetLinkerInformation(outDirs, orderedLibs);
- if(fullPathLibs)
- {
- orderLibs.GetFullPathLibraries(*fullPathLibs);
- }
// Make sure libraries are linked with the proper syntax.
std::string libLinkFlag =