diff options
Diffstat (limited to 'qmake/generators/unix/unixmake.cpp')
-rw-r--r-- | qmake/generators/unix/unixmake.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp index 5ea47cc867..484ce19225 100644 --- a/qmake/generators/unix/unixmake.cpp +++ b/qmake/generators/unix/unixmake.cpp @@ -111,6 +111,8 @@ UnixMakefileGenerator::init() QString sroot = project->sourceRoot(); foreach (const ProString &iif, project->values("QMAKE_INTERNAL_INCLUDED_FILES")) { + if (iif == project->cacheFile()) + continue; if (iif.startsWith(sroot) && iif.at(sroot.length()) == QLatin1Char('/')) project->values("DISTFILES") += fileFixify(iif.toQString(), FileFixifyRelative); } @@ -169,11 +171,13 @@ UnixMakefileGenerator::init() } ProStringList &qmklibs = project->values("QMAKE_LIBS"); qmklibs = ldadd + qmklibs; - if(!project->isEmpty("QMAKE_RPATHDIR")) { + if (!project->isEmpty("QMAKE_RPATHDIR") && !project->isEmpty("QMAKE_LFLAGS_RPATH")) { const ProStringList &rpathdirs = project->values("QMAKE_RPATHDIR"); - for(int i = 0; i < rpathdirs.size(); ++i) { - if(!project->isEmpty("QMAKE_LFLAGS_RPATH")) - project->values("QMAKE_LFLAGS") += var("QMAKE_LFLAGS_RPATH") + escapeFilePath(QFileInfo(rpathdirs[i].toQString()).absoluteFilePath()); + for (int i = 0; i < rpathdirs.size(); ++i) { + QString rpathdir = rpathdirs[i].toQString(); + if (!rpathdir.startsWith('@') && !rpathdir.startsWith('$')) + rpathdir = QFileInfo(rpathdir).absoluteFilePath(); + project->values("QMAKE_LFLAGS") += var("QMAKE_LFLAGS_RPATH") + escapeFilePath(rpathdir); } } if (!project->isEmpty("QMAKE_RPATHLINKDIR")) { |