From 5b788ea23fda558997a63d1299d6cd6c38d3469b Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Mon, 18 Jun 2012 11:51:26 +0200
Subject: [PATCH] consistently use source and build roots for mkspec & feature
 searches

follow suit with qmake ...

Change-Id: I508039840372a9f53616e8a665aa4cae619983f6
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
---
 src/shared/proparser/qmakeevaluator.cpp | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/shared/proparser/qmakeevaluator.cpp b/src/shared/proparser/qmakeevaluator.cpp
index 1bdb4bacfa9..f25d4c65ea1 100644
--- a/src/shared/proparser/qmakeevaluator.cpp
+++ b/src/shared/proparser/qmakeevaluator.cpp
@@ -1232,10 +1232,14 @@ QStringList QMakeEvaluator::qmakeMkspecPaths() const
     foreach (const QString &it, m_option->getPathListEnv(QLatin1String("QMAKEPATH")))
         ret << it + concat;
 
-    QString builtIn = propertyValue(QLatin1String("QT_INSTALL_DATA"), false) + concat;
-    if (!ret.contains(builtIn))
-        ret << builtIn;
+    if (!m_buildRoot.isEmpty())
+        ret << m_buildRoot + concat;
+    if (!m_sourceRoot.isEmpty())
+        ret << m_sourceRoot + concat;
 
+    ret << propertyValue(QLatin1String("QT_INSTALL_DATA"), false) + concat;
+
+    ret.removeDuplicates();
     return ret;
 }
 
@@ -1253,11 +1257,10 @@ QStringList QMakeEvaluator::qmakeFeaturePaths() const
             m_option->dirlist_sep, QString::SkipEmptyParts);
 
     QStringList feature_bases;
-
-    if (!m_cachefile.isEmpty()) {
-        QString path = m_cachefile.left(m_cachefile.lastIndexOf((ushort)'/'));
-        feature_bases << path;
-    }
+    if (!m_buildRoot.isEmpty())
+        feature_bases << m_buildRoot;
+    if (!m_sourceRoot.isEmpty())
+        feature_bases << m_sourceRoot;
 
     foreach (const QString &item, m_option->getPathListEnv(QLatin1String("QMAKEPATH")))
         feature_bases << (item + mkspecs_concat);
-- 
GitLab