look for features relative to spec only in advertized place
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>
Thu, 23 Feb 2012 17:56:11 +0000 (18:56 +0100)
committerQt by Nokia <qt-info@nokia.com>
Thu, 1 Mar 2012 22:12:05 +0000 (23:12 +0100)
that is, spec/../features/ (i.e., mkspecs/features/) - and not any
directory up to the root.

Change-Id: Ie5fdf2898fba5ac93583571edc24629471604798
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
qmake/project.cpp

index 48c5540..545adce 100644 (file)
@@ -578,15 +578,12 @@ QStringList qmake_feature_paths(QMakeProperty *prop=0)
         feature_roots << Option::mkfile::qmakespec + QLatin1String("/features");
     if(!Option::mkfile::qmakespec.isEmpty()) {
         QFileInfo specfi(Option::mkfile::qmakespec);
-        QDir specdir(specfi.absoluteFilePath());
-        while(!specdir.isRoot()) {
-            if(!specdir.cdUp() || specdir.isRoot())
-                break;
-            if(QFile::exists(specdir.path() + QLatin1String("/features"))) {
+        if (!specfi.isRoot()) {
+            QDir specdir(specfi.absolutePath());
+            if (specdir.exists(QLatin1String("features"))) {
                 for(QStringList::Iterator concat_it = concat.begin();
                     concat_it != concat.end(); ++concat_it)
                     feature_roots << (specdir.path() + (*concat_it));
-                break;
             }
         }
     }