cmake/debian/patches/multiarch_lib_dirs_should_be_implicit.diff
Modestas Vainius 97296f5ce6 Make sure CMake considers /lib/<arch> as implicit.
Therefore CMake keeps it out of automatic R(UN)PATH then (patch
multiarch_lib_dirs_should_be_implicit.diff).
2011-07-09 15:17:25 +03:00

33 lines
1.1 KiB
Diff

From: Modestas Vainius <modax@debian.org>
Subject: Multiarch directories should be among implicit link directories as well
Forwarded: yes
Origin: vendor
Last-Update: 2011-07-09
Add multiarch library directories to the set of implicit link directories. In
particular, this keeps /lib/<arch> out of R(UN)PATH of the binaries cmake
builds.
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -1603,6 +1603,19 @@ void cmComputeLinkInformation::LoadImpli
cmSystemTools::ExpandListArgument(implicitLinks, implicitDirVec);
}
+ // Append library architecture to all implicit platform directories
+ // and add them to the set
+ if(const char* libraryArch =
+ (this->Makefile->GetDefinition
+ ("CMAKE_LIBRARY_ARCHITECTURE")))
+ {
+ for (std::vector<std::string>::const_iterator i = implicitDirVec.begin();
+ i != implicitDirVec.end(); ++i)
+ {
+ this->ImplicitLinkDirs.insert(*i + "/" + libraryArch);
+ }
+ }
+
// Get language-specific implicit directories.
std::string implicitDirVar = "CMAKE_";
implicitDirVar += this->LinkLanguage;