summaryrefslogtreecommitdiff
path: root/Source/cmLocalGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-04-11 11:40:24 -0400
committerBrad King <brad.king@kitware.com>2006-04-11 11:40:24 -0400
commitacf33ba191156c65682166f31a01e5d184b482ed (patch)
tree4971f63adf5fde600ff8502d9bd83bd668aa7188 /Source/cmLocalGenerator.cxx
parentd5719f22c1dca3e100f1e3b5dfaa4fe7d26796a0 (diff)
downloadcmake-acf33ba191156c65682166f31a01e5d184b482ed.tar.gz
BUG: Do not add non-per-config subdirectory name of cmake target libraries as full path libs.
Diffstat (limited to 'Source/cmLocalGenerator.cxx')
-rw-r--r--Source/cmLocalGenerator.cxx14
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index bd4b9b005f..a8b038e0b6 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 =