summaryrefslogtreecommitdiffstats
path: root/qmake/generators/unix
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-01-26 14:35:50 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2016-01-26 16:27:28 +0100
commita15c3d086dafea83e4760f0b447be43d26b80697 (patch)
treefd224a3f83942ff4c432e1e3a3f8583d14d6a11c /qmake/generators/unix
parent87abfd351af6309691d921ca0aef077d74df4732 (diff)
parent397061a6a92db9f962360d5db96f69b315f93074 (diff)
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts: src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java src/dbus/qdbusconnection_p.h src/dbus/qdbusintegrator.cpp src/dbus/qdbusintegrator_p.h tests/auto/corelib/io/qdir/qdir.pro tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp Change-Id: I3d3fd07aed015c74b1f545f1327aa73d5f365fcc
Diffstat (limited to 'qmake/generators/unix')
-rw-r--r--qmake/generators/unix/unixmake.cpp16
-rw-r--r--qmake/generators/unix/unixmake.h3
2 files changed, 18 insertions, 1 deletions
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 0312c5dab6..f7131f61c3 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -509,6 +509,20 @@ UnixMakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
return false;
}
+#ifdef Q_OS_WIN // MinGW x-compiling for QNX
+QString UnixMakefileGenerator::installRoot() const
+{
+ /*
+ We include a magic prefix on the path to bypass mingw-make's "helpful"
+ intervention in the environment, recognising variables that look like
+ paths and adding the msys system root as prefix, which we don't want.
+ Once this hack has smuggled INSTALL_ROOT into make's variable space, we
+ can trivially strip the magic prefix back off to get the path we meant.
+ */
+ return QStringLiteral("$(INSTALL_ROOT:@msyshack@%=%)");
+}
+#endif
+
QString
UnixMakefileGenerator::defaultInstall(const QString &t)
{
@@ -517,7 +531,7 @@ UnixMakefileGenerator::defaultInstall(const QString &t)
enum { NoBundle, SolidBundle, SlicedBundle } bundle = NoBundle;
bool isAux = (project->first("TEMPLATE") == "aux");
- const QString root = "$(INSTALL_ROOT)";
+ const QString root = installRoot();
ProStringList &uninst = project->values(ProKey(t + ".uninstall"));
QString ret, destdir = project->first("DESTDIR").toQString();
if(!destdir.isEmpty() && destdir.right(1) != Option::dir_sep)
diff --git a/qmake/generators/unix/unixmake.h b/qmake/generators/unix/unixmake.h
index fa6c8a5111..da5cdb320c 100644
--- a/qmake/generators/unix/unixmake.h
+++ b/qmake/generators/unix/unixmake.h
@@ -47,6 +47,9 @@ public:
protected:
virtual bool doPrecompiledHeaders() const { return project->isActiveConfig("precompile_header"); }
virtual bool doDepends() const { return !Option::mkfile::do_stub_makefile && MakefileGenerator::doDepends(); }
+#ifdef Q_OS_WIN // MinGW x-compiling for QNX
+ virtual QString installRoot() const;
+#endif
virtual QString defaultInstall(const QString &);
virtual ProString fixLibFlag(const ProString &lib);