Commit 80f57e67 authored by Stephen Kelly's avatar Stephen Kelly
Browse files

cmLocalGenerator: Separate rpath content from library stream

parent 7ef83468
Pipeline #30059 passed with stage
......@@ -1463,32 +1463,34 @@ void cmLocalGenerator::OutputLinkLibraries(
linkLibs += " ";
}
std::string rpath;
// Check what kind of rpath flags to use.
if (cli.GetRuntimeSep().empty()) {
// Each rpath entry gets its own option ("-R a -R b -R c")
std::vector<std::string> runtimeDirs;
cli.GetRPath(runtimeDirs, relink);
std::string rpath;
for (std::vector<std::string>::iterator ri = runtimeDirs.begin();
ri != runtimeDirs.end(); ++ri) {
rpath += cli.GetRuntimeFlag();
rpath += this->ConvertToOutputFormat(*ri, shellFormat);
rpath += " ";
}
fout << rpath;
} else {
// All rpath entries are combined ("-Wl,-rpath,a:b:c").
std::string rpath = cli.GetRPathString(relink);
std::string rpathString = cli.GetRPathString(relink);
// Store the rpath option in the stream.
if (!rpath.empty()) {
fout << cli.GetRuntimeFlag();
fout << this->EscapeForShell(rpath, escapeAllowMakeVars);
fout << " ";
if (!rpathString.empty()) {
rpath += cli.GetRuntimeFlag();
rpath += this->EscapeForShell(rpathString, escapeAllowMakeVars);
rpath += " ";
}
}
fout << rpath;
// Write the library flags to the build rule.
fout << linkLibs;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment