diff --git a/Source/cmOrderDirectories.cxx b/Source/cmOrderDirectories.cxx index 7744a5a82c80097264d1343d6d71caf19c1cdaf8..d93debe499eb5e31bc1eff0b2e6c1af516232c58 100644 --- a/Source/cmOrderDirectories.cxx +++ b/Source/cmOrderDirectories.cxx @@ -287,8 +287,7 @@ void cmOrderDirectories::AddRuntimeLibrary(std::string const& fullPath, } } - if (this->ImplicitDirectories.find(dir) != - this->ImplicitDirectories.end()) { + if (this->IsImplicitDirectory(dir)) { this->ImplicitDirEntries.push_back( new cmOrderDirectoriesConstraintSOName(this, fullPath, soname)); return; @@ -316,8 +315,7 @@ void cmOrderDirectories::AddLinkLibrary(std::string const& fullPath) // Implicit link directories need special handling. if (!this->ImplicitDirectories.empty()) { std::string dir = cmSystemTools::GetFilenamePath(fullPath); - if (this->ImplicitDirectories.find(dir) != - this->ImplicitDirectories.end()) { + if (this->IsImplicitDirectory(dir)) { this->ImplicitDirEntries.push_back( new cmOrderDirectoriesConstraintLibrary(this, fullPath)); return; @@ -350,6 +348,12 @@ void cmOrderDirectories::SetImplicitDirectories( this->ImplicitDirectories = implicitDirs; } +bool cmOrderDirectories::IsImplicitDirectory(std::string const& dir) +{ + return this->ImplicitDirectories.find(dir) != + this->ImplicitDirectories.end(); +} + void cmOrderDirectories::SetLinkExtensionInfo( std::vector<std::string> const& linkExtensions, std::string const& removeExtRegex) @@ -394,8 +398,7 @@ void cmOrderDirectories::AddOriginalDirectories( for (std::vector<std::string>::const_iterator di = dirs.begin(); di != dirs.end(); ++di) { // We never explicitly specify implicit link directories. - if (this->ImplicitDirectories.find(*di) != - this->ImplicitDirectories.end()) { + if (this->IsImplicitDirectory(*di)) { continue; } diff --git a/Source/cmOrderDirectories.h b/Source/cmOrderDirectories.h index 90a67e7dfa802826a0c02a1a7c571d574ee70d2c..d9e01269f5493dd2b93ad4b6df75e55580b79a0c 100644 --- a/Source/cmOrderDirectories.h +++ b/Source/cmOrderDirectories.h @@ -82,6 +82,8 @@ private: // Compare directories after resolving symlinks. bool IsSameDirectory(std::string const& l, std::string const& r); + bool IsImplicitDirectory(std::string const& dir); + std::string const& GetRealPath(std::string const& dir); std::map<std::string, std::string> RealPaths;