diff options
Diffstat (limited to 'Source/cmOrderLinkDirectories.cxx')
-rw-r--r-- | Source/cmOrderLinkDirectories.cxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Source/cmOrderLinkDirectories.cxx b/Source/cmOrderLinkDirectories.cxx index bd07f8a..2779f42 100644 --- a/Source/cmOrderLinkDirectories.cxx +++ b/Source/cmOrderLinkDirectories.cxx @@ -463,7 +463,11 @@ bool cmOrderLinkDirectories::DetermineLibraryPathOrder() #ifdef CM_ORDER_LINK_DIRECTORIES_DEBUG fprintf(stderr, "Raw link item [%s]\n", this->RawLinkItems[i].c_str()); #endif - if(cmSystemTools::FileIsFullPath(this->RawLinkItems[i].c_str())) + // 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(cmSystemTools::FileIsDirectory(this->RawLinkItems[i].c_str())) { @@ -486,6 +490,8 @@ bool cmOrderLinkDirectories::DetermineLibraryPathOrder() } else { + // A full path to a directory was found as a link item + // warn user std::string message = "Warning: Ignoring path found in link libraries for target: "; message += this->TargetName; @@ -496,7 +502,7 @@ bool cmOrderLinkDirectories::DetermineLibraryPathOrder() cmSystemTools::Message(message.c_str()); continue; } - } + } // is it a directory if(!framework) { dir = cmSystemTools::GetFilenamePath(this->RawLinkItems[i]); |