fix relative rpaths on linux
$ORIGIN (or $LIB) needs to be escaped to survive the trip through make and the shell. this shouldn't break anything, as there was simply no way to get it right so far. Change-Id: I86337c5994d10dae2e80dd2f858f74874b14bca7 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
parent
554f365322
commit
78f6229222
@ -140,7 +140,9 @@ UnixMakefileGenerator::init()
|
||||
const ProStringList &rpathdirs = project->values("QMAKE_RPATHDIR");
|
||||
for (int i = 0; i < rpathdirs.size(); ++i) {
|
||||
QString rpathdir = rpathdirs[i].toQString();
|
||||
if (!rpathdir.startsWith('@') && !rpathdir.startsWith('$'))
|
||||
if (rpathdir.length() > 1 && rpathdir.at(0) == '$' && rpathdir.at(1) != '(')
|
||||
rpathdir.replace(0, 1, "\\$$"); // Escape from make and the shell
|
||||
else if (!rpathdir.startsWith('@'))
|
||||
rpathdir = QFileInfo(rpathdir).absoluteFilePath();
|
||||
project->values("QMAKE_LFLAGS") += var("QMAKE_LFLAGS_RPATH") + escapeFilePath(rpathdir);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user