diff options
-rw-r--r-- | Modules/Platform/UnixPaths.cmake | 6 | ||||
-rw-r--r-- | Source/cmLocalGenerator.cxx | 14 |
2 files changed, 17 insertions, 3 deletions
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake index d710efc..cc1a9cd 100644 --- a/Modules/Platform/UnixPaths.cmake +++ b/Modules/Platform/UnixPaths.cmake @@ -31,3 +31,9 @@ SET(CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_SYSTEM_LIBRARY_PATH} SET(CMAKE_SYSTEM_PROGRAM_PATH ${CMAKE_SYSTEM_PROGRAM_PATH} /bin /usr/bin /usr/local/bin /usr/pkg/bin /sbin ) + +SET(CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES + ${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES} + /lib /usr/lib /usr/lib32 /usr/lib64 + ) + diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index fce1dcd..110c60f 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1512,9 +1512,17 @@ void cmLocalGenerator::OutputLinkLibraries(std::ostream& fout, // Some search paths should never be emitted emitted.insert(""); - emitted.insert("/usr/lib"); - emitted.insert("/usr/lib32"); - emitted.insert("/usr/lib64"); + if(const char* implicitLinks = + (this->Makefile->GetDefinition + ("CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES"))) + { + std::vector<std::string> implicitLinkVec; + cmSystemTools::ExpandListArgument(implicitLinks, implicitLinkVec); + for(unsigned int k = 0; k < implicitLinkVec.size(); ++k) + { + emitted.insert(implicitLinkVec[k]); + } + } std::string libPathFlag = this->Makefile->GetRequiredDefinition("CMAKE_LIBRARY_PATH_FLAG"); std::string libLinkFlag = |