aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmakeprojectmanager
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2019-12-18 09:02:56 +0100
committerEike Ziller <eike.ziller@qt.io>2019-12-18 09:14:14 +0100
commite16876df0cd65c40480fcf7f2ae9f16ab66c991c (patch)
treeb5192e9d13d3ba3326382aa20cb53246fdd58d4c /src/plugins/qmakeprojectmanager
parentef680f547c2748376e45e5aafbf51daa9be4fbba (diff)
parent546d4a3b1a7c0996fa9d730c9b0ccf59bea9d1cb (diff)
Merge remote-tracking branch 'origin/4.11'
Diffstat (limited to 'src/plugins/qmakeprojectmanager')
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp
index b27ee2da19a..22788c63e07 100644
--- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp
@@ -1970,11 +1970,12 @@ InstallsList QmakeProFile::installsList(const QtSupport::ProFileReader *reader,
if (itemList.isEmpty())
return result;
- const QString installPrefix
- = reader->propertyValue(QLatin1String("QT_INSTALL_PREFIX"));
- const QString devInstallPrefix
- = reader->propertyValue(QLatin1String("QT_INSTALL_PREFIX/dev"));
- bool fixInstallPrefix = (installPrefix != devInstallPrefix);
+ const QStringList installPrefixVars{"QT_INSTALL_PREFIX", "QT_INSTALL_EXAMPLES"};
+ QList<QPair<QString, QString>> installPrefixValues;
+ for (const QString &installPrefix : installPrefixVars) {
+ installPrefixValues << qMakePair(reader->propertyValue(installPrefix),
+ reader->propertyValue(installPrefix + "/dev"));
+ }
foreach (const QString &item, itemList) {
const QStringList config = reader->values(item + ".CONFIG");
@@ -1993,13 +1994,18 @@ InstallsList QmakeProFile::installsList(const QtSupport::ProFileReader *reader,
}
QString itemPath = itemPaths.last();
- if (fixInstallPrefix && itemPath.startsWith(installPrefix)) {
+ for (const auto &prefixValuePair : qAsConst(installPrefixValues)) {
+ if (prefixValuePair.first == prefixValuePair.second
+ || !itemPath.startsWith(prefixValuePair.first)) {
+ continue;
+ }
// This is a hack for projects which install into $$[QT_INSTALL_*],
// in particular Qt itself, examples being most relevant.
// Projects which implement their own install path policy must
// parametrize their INSTALLS themselves depending on the intended
// installation/deployment mode.
- itemPath.replace(0, installPrefix.length(), devInstallPrefix);
+ itemPath.replace(0, prefixValuePair.first.length(), prefixValuePair.second);
+ break;
}
if (item == QLatin1String("target")) {
if (active)