resolve only one level of symlinks, and only for the default specs

otherwise we end up in the source tree, which is counterproductive.

Task-number: QTBUG-26869
Change-Id: Id44a94f827dc285c75b9b243c8ef6478e668e3ff
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
Oswald Buddenhagen 2012-09-18 09:32:46 +02:00 committed by The Qt Project
parent cc2cd0db5d
commit 04cd23428a

View File

@ -1128,7 +1128,12 @@ bool QMakeEvaluator::loadSpecInternal()
return false; return false;
} }
#ifdef Q_OS_UNIX #ifdef Q_OS_UNIX
m_qmakespec = QFileInfo(m_qmakespec).canonicalFilePath(); if (m_qmakespec.endsWith(QLatin1String("/default-host"))
|| m_qmakespec.endsWith(QLatin1String("/default"))) {
QString rspec = QFileInfo(m_qmakespec).readLink();
if (!rspec.isEmpty())
m_qmakespec = QDir::cleanPath(QDir(m_qmakespec).absoluteFilePath(rspec));
}
#else #else
// We can't resolve symlinks as they do on Unix, so configure.exe puts // We can't resolve symlinks as they do on Unix, so configure.exe puts
// the source of the qmake.conf at the end of the default/qmake.conf in // the source of the qmake.conf at the end of the default/qmake.conf in