diff options
-rw-r--r-- | Source/cmOrderLinkDirectories.cxx | 11 | ||||
-rw-r--r-- | Source/cmOrderLinkDirectories.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/Source/cmOrderLinkDirectories.cxx b/Source/cmOrderLinkDirectories.cxx index 446b3ed..b0e0d6b 100644 --- a/Source/cmOrderLinkDirectories.cxx +++ b/Source/cmOrderLinkDirectories.cxx @@ -225,6 +225,7 @@ void cmOrderLinkDirectories::SetLinkInformation(cmTarget& target, linktype, const char* targetLibrary) { + m_TargetName = target.GetName(); // collect the search paths from the target into paths set const std::vector<std::string>& searchPaths = target.GetLinkDirectories(); std::vector<cmStdString> empty; @@ -279,6 +280,16 @@ bool cmOrderLinkDirectories::DetermineLibraryPathOrder() std::vector<cmStdString> empty; for(unsigned int i=0; i < m_RawLinkItems.size(); ++i) { + if(cmSystemTools::FileIsDirectory(m_RawLinkItems[i].c_str())) + { + std::string message = "Warning: Ignoring path found in link libraries for target: "; + message += m_TargetName; + message += ", path is: "; + message += m_RawLinkItems[i]; + message += ". Expected a library name or a full path to a library name."; + cmSystemTools::Message(message.c_str()); + continue; + } if(cmSystemTools::FileIsFullPath(m_RawLinkItems[i].c_str())) { cmSystemTools::SplitProgramPath(m_RawLinkItems[i].c_str(), diff --git a/Source/cmOrderLinkDirectories.h b/Source/cmOrderLinkDirectories.h index b514081..b70dcf8 100644 --- a/Source/cmOrderLinkDirectories.h +++ b/Source/cmOrderLinkDirectories.h @@ -129,6 +129,8 @@ private: cmStdString m_LinkPrefix; // set of directories that can not be put in the correct order std::set<cmStdString> m_ImposibleDirectories; + // Name of target + cmStdString m_TargetName; // library regular expressions cmsys::RegularExpression m_RemoveLibraryExtension; cmsys::RegularExpression m_ExtractBaseLibraryName; |