multiarch: Treat lib/<arch> as implicit link dir (#12326)
Add multiarch library directories to the set of implicit link directories. In particular, this keeps lib/<arch> out of R(UN)PATH.
This commit is contained in:
parent
1ed19bcb25
commit
317d077f6e
|
@ -1603,6 +1603,18 @@ void cmComputeLinkInformation::LoadImplicitLinkInfo()
|
|||
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;
|
||||
|
|
Loading…
Reference in New Issue