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);
|
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.
|
// Get language-specific implicit directories.
|
||||||
std::string implicitDirVar = "CMAKE_";
|
std::string implicitDirVar = "CMAKE_";
|
||||||
implicitDirVar += this->LinkLanguage;
|
implicitDirVar += this->LinkLanguage;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user