BaseQtVersion: Move data into a helper class

... so that we can more easily move things around later.

Change-Id: I84db0f742afd97a28207bc715103b47912ba117f
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Tobias Hunger
2019-09-30 16:17:38 +02:00
parent 0c4e2ada5c
commit c765831d01

View File

@@ -88,6 +88,51 @@ const char QTVERSION_ABIS[] = "Abis";
const char MKSPEC_VALUE_LIBINFIX[] = "QT_LIBINFIX"; const char MKSPEC_VALUE_LIBINFIX[] = "QT_LIBINFIX";
const char MKSPEC_VALUE_NAMESPACE[] = "QT_NAMESPACE"; const char MKSPEC_VALUE_NAMESPACE[] = "QT_NAMESPACE";
// --------------------------------------------------------------------
// QtVersionData:
// --------------------------------------------------------------------
class QtVersionData
{
public:
bool installed = true;
bool hasExamples = false;
bool hasDemos = false;
bool hasDocumentation = false;
bool hasQtAbis = false;
DisplayName unexpandedDisplayName;
QString qtVersionString;
FilePath sourcePath;
FilePath qtSources;
Utils::FilePath prefix;
Utils::FilePath binPath;
Utils::FilePath configurationPath;
Utils::FilePath dataPath;
Utils::FilePath demosPath;
Utils::FilePath docsPath;
Utils::FilePath examplesPath;
// Utils::FilePath frameworkPath; // is derived from libraryPath
Utils::FilePath headerPath;
Utils::FilePath importsPath;
Utils::FilePath libraryPath;
Utils::FilePath pluginPath;
Utils::FilePath qmlPath;
Utils::FilePath translationsPath;
Utils::FilePath hostBinPath;
Utils::FilePath hostDataPath;
Abis qtAbis;
};
// --------------------------------------------------------------------
// Helpers:
// --------------------------------------------------------------------
static QSet<Id> versionedIds(const QByteArray &prefix, int major, int minor) static QSet<Id> versionedIds(const QByteArray &prefix, int major, int minor)
{ {
QSet<Id> result; QSet<Id> result;
@@ -162,6 +207,8 @@ public:
bool m_isAutodetected = false; bool m_isAutodetected = false;
QString m_type; QString m_type;
QtVersionData m_data;
bool m_isUpdating = false; bool m_isUpdating = false;
bool m_hasQmlDump = false; // controlled by m_versionInfoUpToDate bool m_hasQmlDump = false; // controlled by m_versionInfoUpToDate
bool m_mkspecUpToDate = false; bool m_mkspecUpToDate = false;
@@ -170,18 +217,10 @@ public:
bool m_defaultConfigIsDebugAndRelease = true; bool m_defaultConfigIsDebugAndRelease = true;
bool m_frameworkBuild = false; bool m_frameworkBuild = false;
bool m_versionInfoUpToDate = false; bool m_versionInfoUpToDate = false;
bool m_installed = true;
bool m_hasExamples = false;
bool m_hasDemos = false;
bool m_hasDocumentation = false;
bool m_qmakeIsExecutable = true; bool m_qmakeIsExecutable = true;
bool m_hasQtAbis = false;
DisplayName m_unexpandedDisplayName;
QString m_autodetectionSource; QString m_autodetectionSource;
QSet<Core::Id> m_overrideFeatures; QSet<Core::Id> m_overrideFeatures;
FilePath m_sourcePath;
FilePath m_qtSources;
FilePath m_mkspec; FilePath m_mkspec;
FilePath m_mkspecFullPath; FilePath m_mkspecFullPath;
@@ -191,15 +230,13 @@ public:
QHash<ProKey, ProString> m_versionInfo; QHash<ProKey, ProString> m_versionInfo;
FilePath m_qmakeCommand; FilePath m_qmakeCommand;
QString m_qtVersionString;
QString m_uicCommand; QString m_uicCommand;
QString m_designerCommand; QString m_designerCommand;
QString m_linguistCommand; QString m_linguistCommand;
QString m_qscxmlcCommand; QString m_qscxmlcCommand;
QString m_qmlsceneCommand; QString m_qmlsceneCommand;
Abis m_qtAbis;
MacroExpanderWrapper m_expander; MacroExpanderWrapper m_expander;
}; };
@@ -295,7 +332,6 @@ BaseQtVersion::BaseQtVersion()
: d(new BaseQtVersionPrivate(this)) : d(new BaseQtVersionPrivate(this))
{} {}
BaseQtVersion::~BaseQtVersion() BaseQtVersion::~BaseQtVersion()
{ {
delete d; delete d;
@@ -514,67 +550,80 @@ Tasks BaseQtVersion::validateKit(const Kit *k)
FilePath BaseQtVersion::prefix() const // QT_INSTALL_PREFIX FilePath BaseQtVersion::prefix() const // QT_INSTALL_PREFIX
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_PREFIX")); d->updateVersionInfo();
return d->m_data.prefix;
} }
FilePath BaseQtVersion::binPath() const // QT_INSTALL_BINS FilePath BaseQtVersion::binPath() const // QT_INSTALL_BINS
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_BINS")); d->updateVersionInfo();
return d->m_data.binPath;
} }
FilePath BaseQtVersion::configurationPath() const // QT_INSTALL_CONFIGURATION FilePath BaseQtVersion::configurationPath() const // QT_INSTALL_CONFIGURATION
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_CONFIGURATION")); d->updateVersionInfo();
return d->m_data.configurationPath;
} }
FilePath BaseQtVersion::headerPath() const // QT_INSTALL_HEADERS FilePath BaseQtVersion::headerPath() const // QT_INSTALL_HEADERS
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_HEADERS")); d->updateVersionInfo();
return d->m_data.headerPath;
} }
FilePath BaseQtVersion::dataPath() const // QT_INSTALL_DATA FilePath BaseQtVersion::dataPath() const // QT_INSTALL_DATA
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_DATA")); d->updateVersionInfo();
return d->m_data.dataPath;
} }
FilePath BaseQtVersion::docsPath() const // QT_INSTALL_DOCS FilePath BaseQtVersion::docsPath() const // QT_INSTALL_DOCS
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_DOCS")); d->updateVersionInfo();
return d->m_data.docsPath;
} }
FilePath BaseQtVersion::importsPath() const // QT_INSTALL_IMPORTS FilePath BaseQtVersion::importsPath() const // QT_INSTALL_IMPORTS
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_IMPORTS")); d->updateVersionInfo();
return d->m_data.importsPath;
} }
FilePath BaseQtVersion::libraryPath() const // QT_INSTALL_LIBS FilePath BaseQtVersion::libraryPath() const // QT_INSTALL_LIBS
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_LIBS")); d->updateVersionInfo();
return d->m_data.libraryPath;
} }
FilePath BaseQtVersion::pluginPath() const // QT_INSTALL_PLUGINS FilePath BaseQtVersion::pluginPath() const // QT_INSTALL_PLUGINS
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_PLUGINS")); d->updateVersionInfo();
return d->m_data.pluginPath;
} }
FilePath BaseQtVersion::qmlPath() const // QT_INSTALL_QML FilePath BaseQtVersion::qmlPath() const // QT_INSTALL_QML
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_QML")); d->updateVersionInfo();
return d->m_data.qmlPath;
} }
FilePath BaseQtVersion::translationsPath() const // QT_INSTALL_TRANSLATIONS FilePath BaseQtVersion::translationsPath() const // QT_INSTALL_TRANSLATIONS
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_INSTALL_TRANSLATIONS")); d->updateVersionInfo();
return d->m_data.translationsPath;
} }
FilePath BaseQtVersion::hostBinPath() const // QT_HOST_BINS FilePath BaseQtVersion::hostBinPath() const // QT_HOST_BINS
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_HOST_BINS")); d->updateVersionInfo();
return d->m_data.hostBinPath;
} }
FilePath BaseQtVersion::hostDataPath() const // QT_HOST_DATA FilePath BaseQtVersion::hostDataPath() const // QT_HOST_DATA
{ {
return FilePath::fromUserInput(d->qmakeProperty("QT_HOST_DATA")); d->updateVersionInfo();
return d->m_data.hostDataPath;
} }
FilePath BaseQtVersion::mkspecsPath() const FilePath BaseQtVersion::mkspecsPath() const
@@ -587,6 +636,7 @@ FilePath BaseQtVersion::mkspecsPath() const
FilePath BaseQtVersion::qmlBinPath() const FilePath BaseQtVersion::qmlBinPath() const
{ {
d->updateVersionInfo();
return FilePath::fromUserInput(d->m_mkspecValues.value("QT.qml.bins")); return FilePath::fromUserInput(d->m_mkspecValues.value("QT.qml.bins"));
} }
@@ -645,7 +695,7 @@ void BaseQtVersion::fromMap(const QVariantMap &map)
d->m_id = map.value(Constants::QTVERSIONID).toInt(); d->m_id = map.value(Constants::QTVERSIONID).toInt();
if (d->m_id == -1) // this happens on adding from installer, see updateFromInstaller => get a new unique id if (d->m_id == -1) // this happens on adding from installer, see updateFromInstaller => get a new unique id
d->m_id = QtVersionManager::getUniqueId(); d->m_id = QtVersionManager::getUniqueId();
d->m_unexpandedDisplayName.fromMap(map, Constants::QTVERSIONNAME); d->m_data.unexpandedDisplayName.fromMap(map, Constants::QTVERSIONNAME);
d->m_isAutodetected = map.value(QTVERSIONAUTODETECTED).toBool(); d->m_isAutodetected = map.value(QTVERSIONAUTODETECTED).toBool();
d->m_autodetectionSource = map.value(QTVERSIONAUTODETECTIONSOURCE).toString(); d->m_autodetectionSource = map.value(QTVERSIONAUTODETECTIONSOURCE).toString();
d->m_overrideFeatures = Core::Id::fromStringList(map.value(QTVERSION_OVERRIDE_FEATURES).toStringList()); d->m_overrideFeatures = Core::Id::fromStringList(map.value(QTVERSION_OVERRIDE_FEATURES).toStringList());
@@ -653,13 +703,14 @@ void BaseQtVersion::fromMap(const QVariantMap &map)
if (string.startsWith('~')) if (string.startsWith('~'))
string.remove(0, 1).prepend(QDir::homePath()); string.remove(0, 1).prepend(QDir::homePath());
d->m_qtSources = FilePath::fromUserInput(map.value(QTVERSIONSOURCEPATH).toString()); d->m_data.qtSources = FilePath::fromUserInput(map.value(QTVERSIONSOURCEPATH).toString());
// Handle ABIs provided by the SDKTool: // Handle ABIs provided by the SDKTool:
// Note: Creator does not write these settings itself, so it has to come from the SDKTool! // Note: Creator does not write these settings itself, so it has to come from the SDKTool!
d->m_qtAbis = Utils::transform<Abis>(map.value(QTVERSION_ABIS).toStringList(), &Abi::fromString); d->m_data.qtAbis = Utils::transform<Abis>(map.value(QTVERSION_ABIS).toStringList(),
d->m_qtAbis = Utils::filtered(d->m_qtAbis, &Abi::isValid); &Abi::fromString);
d->m_hasQtAbis = !d->m_qtAbis.isEmpty(); d->m_data.qtAbis = Utils::filtered(d->m_data.qtAbis, &Abi::isValid);
d->m_data.hasQtAbis = !d->m_data.qtAbis.isEmpty();
QFileInfo fi(string); QFileInfo fi(string);
if (BuildableHelperLibrary::isQtChooser(fi)) { if (BuildableHelperLibrary::isQtChooser(fi)) {
@@ -680,7 +731,7 @@ QVariantMap BaseQtVersion::toMap() const
{ {
QVariantMap result; QVariantMap result;
result.insert(Constants::QTVERSIONID, uniqueId()); result.insert(Constants::QTVERSIONID, uniqueId());
d->m_unexpandedDisplayName.toMap(result, Constants::QTVERSIONNAME); d->m_data.unexpandedDisplayName.toMap(result, Constants::QTVERSIONNAME);
result.insert(QTVERSIONAUTODETECTED, isAutodetected()); result.insert(QTVERSIONAUTODETECTED, isAutodetected());
result.insert(QTVERSIONAUTODETECTIONSOURCE, autodetectionSource()); result.insert(QTVERSIONAUTODETECTIONSOURCE, autodetectionSource());
if (!d->m_overrideFeatures.isEmpty()) if (!d->m_overrideFeatures.isEmpty())
@@ -697,7 +748,7 @@ bool BaseQtVersion::isValid() const
d->updateVersionInfo(); d->updateVersionInfo();
d->updateMkspec(); d->updateMkspec();
return !qmakeCommand().isEmpty() && d->m_installed && !binPath().isEmpty() return !qmakeCommand().isEmpty() && d->m_data.installed && !binPath().isEmpty()
&& !d->m_mkspecFullPath.isEmpty() && d->m_qmakeIsExecutable; && !d->m_mkspecFullPath.isEmpty() && d->m_qmakeIsExecutable;
} }
@@ -716,7 +767,7 @@ QString BaseQtVersion::invalidReason() const
return QCoreApplication::translate("QtVersion", "No qmake path set"); return QCoreApplication::translate("QtVersion", "No qmake path set");
if (!d->m_qmakeIsExecutable) if (!d->m_qmakeIsExecutable)
return QCoreApplication::translate("QtVersion", "qmake does not exist or is not executable"); return QCoreApplication::translate("QtVersion", "qmake does not exist or is not executable");
if (!d->m_installed) if (!d->m_data.installed)
return QCoreApplication::translate("QtVersion", "Qt version is not properly installed, please run make install"); return QCoreApplication::translate("QtVersion", "Qt version is not properly installed, please run make install");
if (binPath().isEmpty()) if (binPath().isEmpty())
return QCoreApplication::translate("QtVersion", return QCoreApplication::translate("QtVersion",
@@ -745,11 +796,11 @@ FilePath BaseQtVersion::qmakeCommand() const
Abis BaseQtVersion::qtAbis() const Abis BaseQtVersion::qtAbis() const
{ {
if (!d->m_hasQtAbis) { if (!d->m_data.hasQtAbis) {
d->m_qtAbis = detectQtAbis(); d->m_data.qtAbis = detectQtAbis();
d->m_hasQtAbis = true; d->m_data.hasQtAbis = true;
} }
return d->m_qtAbis; return d->m_data.qtAbis;
} }
Abis BaseQtVersion::detectQtAbis() const Abis BaseQtVersion::detectQtAbis() const
@@ -800,17 +851,17 @@ QString BaseQtVersion::displayName() const
QString BaseQtVersion::unexpandedDisplayName() const QString BaseQtVersion::unexpandedDisplayName() const
{ {
return d->m_unexpandedDisplayName.value(); return d->m_data.unexpandedDisplayName.value();
} }
void BaseQtVersion::setUnexpandedDisplayName(const QString &name) void BaseQtVersion::setUnexpandedDisplayName(const QString &name)
{ {
d->m_unexpandedDisplayName.setValue(name); d->m_data.unexpandedDisplayName.setValue(name);
} }
void BaseQtVersion::updateDefaultDisplayName() void BaseQtVersion::updateDefaultDisplayName()
{ {
d->m_unexpandedDisplayName.setDefaultValue(defaultUnexpandedDisplayName()); d->m_data.unexpandedDisplayName.setDefaultValue(defaultUnexpandedDisplayName());
} }
QString BaseQtVersion::toHtml(bool verbose) const QString BaseQtVersion::toHtml(bool verbose) const
@@ -896,16 +947,16 @@ QString BaseQtVersion::toHtml(bool verbose) const
FilePath BaseQtVersion::sourcePath() const FilePath BaseQtVersion::sourcePath() const
{ {
if (d->m_sourcePath.isEmpty()) { if (d->m_data.sourcePath.isEmpty()) {
d->updateVersionInfo(); d->updateVersionInfo();
d->m_sourcePath = d->sourcePath(d->m_versionInfo); d->m_data.sourcePath = d->sourcePath(d->m_versionInfo);
} }
return d->m_sourcePath; return d->m_data.sourcePath;
} }
FilePath BaseQtVersion::qtPackageSourcePath() const FilePath BaseQtVersion::qtPackageSourcePath() const
{ {
return d->m_qtSources; return d->m_data.qtSources;
} }
QString BaseQtVersion::designerCommand() const QString BaseQtVersion::designerCommand() const
@@ -1170,7 +1221,7 @@ BaseQtVersion::QmakeBuildConfigs BaseQtVersion::defaultBuildConfig() const
QString BaseQtVersion::qtVersionString() const QString BaseQtVersion::qtVersionString() const
{ {
d->updateVersionInfo(); d->updateVersionInfo();
return d->m_qtVersionString; return d->m_data.qtVersionString;
} }
QtVersionNumber BaseQtVersion::qtVersion() const QtVersionNumber BaseQtVersion::qtVersion() const
@@ -1187,9 +1238,9 @@ void BaseQtVersionPrivate::updateVersionInfo()
// extract data from qmake executable // extract data from qmake executable
m_versionInfo.clear(); m_versionInfo.clear();
m_installed = true; m_data.installed = true;
m_hasExamples = false; m_data.hasExamples = false;
m_hasDocumentation = false; m_data.hasDocumentation = false;
m_hasQmlDump = false; m_hasQmlDump = false;
if (!queryQMakeVariables(m_qmakeCommand, q->qmakeRunEnvironment(), &m_versionInfo)) { if (!queryQMakeVariables(m_qmakeCommand, q->qmakeRunEnvironment(), &m_versionInfo)) {
@@ -1215,35 +1266,55 @@ void BaseQtVersionPrivate::updateVersionInfo()
QString installDir = q->hostBinPath().toString(); QString installDir = q->hostBinPath().toString();
if (!installDir.isNull()) { if (!installDir.isNull()) {
if (!QFileInfo::exists(installDir)) if (!QFileInfo::exists(installDir))
m_installed = false; m_data.installed = false;
} }
// Framework builds for Qt 4.8 don't use QT_INSTALL_HEADERS // Framework builds for Qt 4.8 don't use QT_INSTALL_HEADERS
// so we don't check on mac // so we don't check on mac
if (!HostOsInfo::isMacHost()) { if (!HostOsInfo::isMacHost()) {
if (!qtHeaderData.isNull()) { if (!qtHeaderData.isNull()) {
if (!QFileInfo::exists(qtHeaderData)) if (!QFileInfo::exists(qtHeaderData))
m_installed = false; m_data.installed = false;
} }
} }
const QString qtInstallDocs = q->docsPath().toString(); const QString qtInstallDocs = q->docsPath().toString();
if (!qtInstallDocs.isNull()) { if (!qtInstallDocs.isNull()) {
if (QFileInfo::exists(qtInstallDocs)) if (QFileInfo::exists(qtInstallDocs))
m_hasDocumentation = true; m_data.hasDocumentation = true;
} }
const QString qtInstallExamples = q->examplesPath().toString(); const QString qtInstallExamples = q->examplesPath().toString();
if (!qtInstallExamples.isNull()) { if (!qtInstallExamples.isNull()) {
if (QFileInfo::exists(qtInstallExamples)) if (QFileInfo::exists(qtInstallExamples))
m_hasExamples = true; m_data.hasExamples = true;
} }
const QString qtInstallDemos = q->demosPath().toString(); const QString qtInstallDemos = q->demosPath().toString();
if (!qtInstallDemos.isNull()) { if (!qtInstallDemos.isNull()) {
if (QFileInfo::exists(qtInstallDemos)) if (QFileInfo::exists(qtInstallDemos))
m_hasDemos = true; m_data.hasDemos = true;
} }
m_qtVersionString = qmakeProperty("QT_VERSION"); m_data.qtVersionString = qmakeProperty("QT_VERSION");
m_isUpdating = false; m_isUpdating = false;
m_versionInfoUpToDate = true; m_versionInfoUpToDate = true;
m_data.prefix = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_PREFIX"));
m_data.binPath = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_BINS"));
m_data.configurationPath = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_CONFIGURATION"));
m_data.dataPath = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_DATA"));
m_data.demosPath = FilePath::fromString(
QFileInfo(qmakeProperty("QT_INSTALL_DEMOS")).canonicalFilePath());
m_data.docsPath = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_DOCS"));
m_data.examplesPath = FilePath::fromString(
QFileInfo(qmakeProperty("QT_INSTALL_EXAMPLES")).canonicalFilePath());
m_data.headerPath = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_HEADERS"));
m_data.importsPath = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_IMPORTS"));
m_data.libraryPath = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_LIBS"));
m_data.pluginPath = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_PLUGINS"));
m_data.qmlPath = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_QML"));
m_data.translationsPath = FilePath::fromUserInput(qmakeProperty("QT_INSTALL_TRANSLATIONS"));
m_data.hostBinPath = FilePath::fromUserInput(qmakeProperty("QT_HOST_BINS"));
m_data.hostDataPath = FilePath::fromUserInput(qmakeProperty("QT_HOST_DATA"));
} }
QHash<ProKey,ProString> BaseQtVersionPrivate::versionInfo() QHash<ProKey,ProString> BaseQtVersionPrivate::versionInfo()
@@ -1276,18 +1347,18 @@ void BaseQtVersion::applyProperties(QMakeGlobals *qmakeGlobals) const
bool BaseQtVersion::hasDocs() const bool BaseQtVersion::hasDocs() const
{ {
d->updateVersionInfo(); d->updateVersionInfo();
return d->m_hasDocumentation; return d->m_data.hasDocumentation;
} }
bool BaseQtVersion::hasDemos() const bool BaseQtVersion::hasDemos() const
{ {
d->updateVersionInfo(); d->updateVersionInfo();
return d->m_hasDemos; return d->m_data.hasDemos;
} }
FilePath BaseQtVersion::demosPath() const FilePath BaseQtVersion::demosPath() const
{ {
return FilePath::fromString(QFileInfo(d->qmakeProperty("QT_INSTALL_DEMOS")).canonicalFilePath()); return d->m_data.demosPath;
} }
FilePath BaseQtVersion::frameworkPath() const FilePath BaseQtVersion::frameworkPath() const
@@ -1300,13 +1371,12 @@ FilePath BaseQtVersion::frameworkPath() const
bool BaseQtVersion::hasExamples() const bool BaseQtVersion::hasExamples() const
{ {
d->updateVersionInfo(); d->updateVersionInfo();
return d->m_hasExamples; return d->m_data.hasExamples;
} }
FilePath BaseQtVersion::examplesPath() const // QT_INSTALL_EXAMPLES FilePath BaseQtVersion::examplesPath() const // QT_INSTALL_EXAMPLES
{ {
return FilePath::fromString( return d->m_data.examplesPath;
QFileInfo(d->qmakeProperty("QT_INSTALL_EXAMPLES")).canonicalFilePath());
} }
QStringList BaseQtVersion::qtSoPaths() const QStringList BaseQtVersion::qtSoPaths() const
@@ -1942,7 +2012,7 @@ bool BaseQtVersion::isQtQuickCompilerSupported(QString *reason) const
FilePathList BaseQtVersionPrivate::qtCorePaths() FilePathList BaseQtVersionPrivate::qtCorePaths()
{ {
updateVersionInfo(); updateVersionInfo();
const QString versionString = m_qtVersionString; const QString versionString = m_data.qtVersionString;
const QString installLibsDir = q->libraryPath().toString(); const QString installLibsDir = q->libraryPath().toString();
const QString installBinDir = q->binPath().toString(); const QString installBinDir = q->binPath().toString();
@@ -2210,9 +2280,6 @@ BaseQtVersion *QtVersionFactory::createQtVersionFromQMakePath
ver->d->m_id = QtVersionManager::getUniqueId(); ver->d->m_id = QtVersionManager::getUniqueId();
QTC_CHECK(ver->d->m_qmakeCommand.isEmpty()); // Should only be used once. QTC_CHECK(ver->d->m_qmakeCommand.isEmpty()); // Should only be used once.
ver->d->m_qmakeCommand = qmakePath; ver->d->m_qmakeCommand = qmakePath;
ver->d->m_unexpandedDisplayName = BaseQtVersion::defaultUnexpandedDisplayName(qmakePath,
false);
ver->d->m_autodetectionSource = autoDetectionSource; ver->d->m_autodetectionSource = autoDetectionSource;
ver->d->m_isAutodetected = isAutoDetected; ver->d->m_isAutodetected = isAutoDetected;
ver->updateDefaultDisplayName(); ver->updateDefaultDisplayName();