-rw-r--r-- | qmake/project.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/qmake/project.cpp b/qmake/project.cpp index ae24193..96cdad8 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -441,14 +441,20 @@ QMakeProject::read(QString project, QString) /* parse mkspec */ QStringList mkspec_roots; /* prefer $QTDIR if it is set */ - /* minor hack here, prefer QMAKESPECDIR -cl */ + /* prefer QMAKESPECSDIR -cl */ - if (getenv("QMAKESPECDIR")){ - mkspec_roots << getenv("QMAKESPECDIR"); - } else if (getenv("QTDIR")) { + if (getenv("QTDIR")) { mkspec_roots << getenv("QTDIR"); } mkspec_roots << qInstallPathData(); + + if (getenv("QMAKESPECSDIR")){ + QString mkspec = QString(getenv("QMAKESPECSDIR")) + QDir::separator() + + QDir::separator() + "default"; + if(QFile::exists(mkspec)) + Option::mkfile::qmakespec = mkspec; + } + if(Option::mkfile::qmakespec.isEmpty()) { for(QStringList::Iterator it = mkspec_roots.begin(); it != mkspec_roots.end(); ++it) { QString mkspec = (*it) + QDir::separator() + QString("mkspecs") + @@ -458,10 +464,11 @@ QMakeProject::read(QString project, QString) break; } } - if(Option::mkfile::qmakespec.isEmpty()) { - fprintf(stderr, "QMAKESPEC has not been set, so configuration cannot be deduced.\n"); - return FALSE; - } + } + + if(Option::mkfile::qmakespec.isEmpty()) { + fprintf(stderr, "QMAKESPEC has not been set, so configuration cannot be deduced.\n"); + return FALSE; } if(QDir::isRelativePath(Option::mkfile::qmakespec)) { |