summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-11-30 22:32:46 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2006-11-30 22:32:46 (GMT)
commit5ff037e894fc4631dc3d7c6a59e5f2e4fb87c793 (patch)
tree1bc78253f536e13fd4a51461f34763a835d7b779 /Source
parent464e3c137e12557e5174b58829a7bbe5564175f9 (diff)
downloadCMake-5ff037e894fc4631dc3d7c6a59e5f2e4fb87c793.zip
CMake-5ff037e894fc4631dc3d7c6a59e5f2e4fb87c793.tar.gz
CMake-5ff037e894fc4631dc3d7c6a59e5f2e4fb87c793.tar.bz2
BUG: better fix for .dll.lib problem
Diffstat (limited to 'Source')
-rw-r--r--Source/cmOrderLinkDirectories.cxx5
-rw-r--r--Source/cmTarget.cxx9
2 files changed, 11 insertions, 3 deletions
diff --git a/Source/cmOrderLinkDirectories.cxx b/Source/cmOrderLinkDirectories.cxx
index 744c1fe..f3d91a2 100644
--- a/Source/cmOrderLinkDirectories.cxx
+++ b/Source/cmOrderLinkDirectories.cxx
@@ -466,8 +466,9 @@ bool cmOrderLinkDirectories::DetermineLibraryPathOrder()
// check to see if the file is a full path or just contains
// a / in it and is a path to something
cmStdString& item = this->RawLinkItems[i];
- if(cmSystemTools::FileIsFullPath(item.c_str())
- || item.find("/") != item.npos)
+ // if it is a full path to an item then separate it from the path
+ // this only works with files and paths
+ if(cmSystemTools::FileIsFullPath(item.c_str()))
{
if(cmSystemTools::FileIsDirectory(this->RawLinkItems[i].c_str()))
{
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 3ee22f3..0dc8bd9 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -864,7 +864,14 @@ const char* cmTarget::GetDirectory(const char* config)
{
this->Directory = this->Makefile->GetStartOutputDirectory();
}
-
+ // if LIBRARY_OUTPUT_PATH or EXECUTABLE_OUTPUT_PATH was relative
+ // then make them full paths because this directory MUST
+ // be a full path or things will not work!!!
+ if(!cmSystemTools::FileIsFullPath(this->Directory.c_str()))
+ {
+ this->Directory = this->Makefile->GetCurrentOutputDirectory() +
+ std::string("/") + this->Directory;
+ }
if(config)
{
// Add the configuration's subdirectory.