From 5c3faa52d7aaab64d1aa6c3800466292a3c3ce18 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 9 Dec 2013 21:46:05 +0100 Subject: qmake: cleanup DISTFILES Do not include the project file twice or other .pr? files outside the project tree. Task-number: QTBUG-21910 Change-Id: I62af842282ccdc5b9099d9227d5395ebe3f0698c Reviewed-by: Oswald Buddenhagen --- qmake/generators/unix/unixmake.cpp | 8 +++++--- qmake/project.h | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'qmake') diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp index e8eeb8e927..cadd5cf316 100644 --- a/qmake/generators/unix/unixmake.cpp +++ b/qmake/generators/unix/unixmake.cpp @@ -109,9 +109,11 @@ UnixMakefileGenerator::init() project->values("VER_MIN").append(l[1]); project->values("VER_PAT").append(l[2]); - project->values("DISTFILES") += project->projectFile(); - if (!project->isEmpty("QMAKE_INTERNAL_INCLUDED_FILES")) - project->values("DISTFILES") += project->values("QMAKE_INTERNAL_INCLUDED_FILES"); + QString sroot = project->sourceRoot(); + foreach (const ProString &iif, project->values("QMAKE_INTERNAL_INCLUDED_FILES")) { + if (iif.startsWith(sroot) && iif.at(sroot.length()) == QLatin1Char('/')) + project->values("DISTFILES") += fileFixify(iif.toQString(), FileFixifyRelative); + } /* this should probably not be here, but I'm using it to wrap the .t files */ if(project->first("TEMPLATE") == "app") diff --git a/qmake/project.h b/qmake/project.h index 26037bb912..fc203c4d7d 100644 --- a/qmake/project.h +++ b/qmake/project.h @@ -57,6 +57,7 @@ public: bool read(const QString &project, LoadFlags what = LoadAll); QString projectFile() const { return m_projectFile; } + QString sourceRoot() const { return m_sourceRoot.isEmpty() ? m_buildRoot : m_sourceRoot; } QString buildRoot() const { return m_buildRoot; } QString confFile() const { return m_conffile; } QString cacheFile() const { return m_cachefile; } -- cgit v1.2.3