forked from qt-creator/qt-creator
rewrite default spec handling
instead of symlinking (on unix) or creating a forwarding spec (on windows), just put the default specs into (the bootstrapped) QLibraryInfo. Change-Id: I595500ef7399f77cb8ec117c4303bc0a2ffe505f (cherry picked from qttools/0e75115e557b4cf1c737e3e5524f876a6b85a39e) (cherry picked from qttools/769fa282ac8a4b98698dada6969452363e0eb415) Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
@@ -1051,20 +1051,23 @@ bool QMakeEvaluator::loadSpecInternal()
|
|||||||
evalError(fL1S("Could not read qmake configuration file %1.").arg(spec));
|
evalError(fL1S("Could not read qmake configuration file %1.").arg(spec));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#ifdef Q_OS_UNIX
|
#ifndef QT_BUILD_QMAKE
|
||||||
|
// Legacy support for Qt4 default specs
|
||||||
|
# ifdef Q_OS_UNIX
|
||||||
if (m_qmakespec.endsWith(QLatin1String("/default-host"))
|
if (m_qmakespec.endsWith(QLatin1String("/default-host"))
|
||||||
|| m_qmakespec.endsWith(QLatin1String("/default"))) {
|
|| m_qmakespec.endsWith(QLatin1String("/default"))) {
|
||||||
QString rspec = QFileInfo(m_qmakespec).readLink();
|
QString rspec = QFileInfo(m_qmakespec).readLink();
|
||||||
if (!rspec.isEmpty())
|
if (!rspec.isEmpty())
|
||||||
m_qmakespec = QDir::cleanPath(QDir(m_qmakespec).absoluteFilePath(rspec));
|
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
|
||||||
// the QMAKESPEC_ORIGINAL variable.
|
// the QMAKESPEC_ORIGINAL variable.
|
||||||
const ProString &orig_spec = first(ProKey("QMAKESPEC_ORIGINAL"));
|
const ProString &orig_spec = first(ProKey("QMAKESPEC_ORIGINAL"));
|
||||||
if (!orig_spec.isEmpty())
|
if (!orig_spec.isEmpty())
|
||||||
m_qmakespec = orig_spec.toQString();
|
m_qmakespec = orig_spec.toQString();
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
valuesRef(ProKey("QMAKESPEC")) << ProString(m_qmakespec);
|
valuesRef(ProKey("QMAKESPEC")) << ProString(m_qmakespec);
|
||||||
m_qmakespecName = IoUtils::fileName(m_qmakespec).toString();
|
m_qmakespecName = IoUtils::fileName(m_qmakespec).toString();
|
||||||
@@ -1108,8 +1111,13 @@ bool QMakeEvaluator::loadSpec()
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateMkspecPaths();
|
updateMkspecPaths();
|
||||||
|
if (qmakespec.isEmpty())
|
||||||
|
qmakespec = propertyValue(ProKey(m_hostBuild ? "QMAKE_SPEC" : "QMAKE_XSPEC")).toQString();
|
||||||
|
#ifndef QT_BUILD_QMAKE
|
||||||
|
// Legacy support for Qt4 qmake in Qt Creator, etc.
|
||||||
if (qmakespec.isEmpty())
|
if (qmakespec.isEmpty())
|
||||||
qmakespec = m_hostBuild ? QLatin1String("default-host") : QLatin1String("default");
|
qmakespec = m_hostBuild ? QLatin1String("default-host") : QLatin1String("default");
|
||||||
|
#endif
|
||||||
if (IoUtils::isRelativePath(qmakespec)) {
|
if (IoUtils::isRelativePath(qmakespec)) {
|
||||||
foreach (const QString &root, m_mkspecPaths) {
|
foreach (const QString &root, m_mkspecPaths) {
|
||||||
QString mkspec = root + QLatin1Char('/') + qmakespec;
|
QString mkspec = root + QLatin1Char('/') + qmakespec;
|
||||||
|
|||||||
Reference in New Issue
Block a user