diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2006-11-30 22:32:46 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2006-11-30 22:32:46 (GMT) |
commit | 5ff037e894fc4631dc3d7c6a59e5f2e4fb87c793 (patch) | |
tree | 1bc78253f536e13fd4a51461f34763a835d7b779 /Source | |
parent | 464e3c137e12557e5174b58829a7bbe5564175f9 (diff) | |
download | CMake-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.cxx | 5 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 9 |
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. |