forked from qt-creator/qt-creator
Qbs: Use aspects more directly in QbsBuildConfiguration
Change-Id: Ie6de858023895cc3f70a9f1d14308e3d0d3480a4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -621,6 +621,7 @@ public:
|
|||||||
const QString &offString = {},
|
const QString &offString = {},
|
||||||
const QString &defaultString = {});
|
const QString &defaultString = {});
|
||||||
|
|
||||||
|
TriState operator()() const { return value(); }
|
||||||
TriState value() const;
|
TriState value() const;
|
||||||
void setValue(TriState setting);
|
void setValue(TriState setting);
|
||||||
|
|
||||||
|
@@ -163,11 +163,12 @@ void BuildDirectoryAspect::updateProblemLabel()
|
|||||||
d->problemLabel->setVisible(!d->problem.isEmpty());
|
d->problemLabel->setVisible(!d->problem.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
SeparateDebugInfoAspect::SeparateDebugInfoAspect()
|
SeparateDebugInfoAspect::SeparateDebugInfoAspect(AspectContainer *container)
|
||||||
|
: TriStateAspect(container)
|
||||||
{
|
{
|
||||||
setDisplayName(Tr::tr("Separate debug info:"));
|
setDisplayName(Tr::tr("Separate debug info:"));
|
||||||
setSettingsKey("SeparateDebugInfo");
|
setSettingsKey("SeparateDebugInfo");
|
||||||
setValue(ProjectExplorerPlugin::buildPropertiesSettings().separateDebugInfo.value());
|
setValue(ProjectExplorerPlugin::buildPropertiesSettings().separateDebugInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ProjectExplorer
|
} // namespace ProjectExplorer
|
||||||
|
@@ -41,7 +41,7 @@ class PROJECTEXPLORER_EXPORT SeparateDebugInfoAspect : public Utils::TriStateAsp
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
SeparateDebugInfoAspect();
|
SeparateDebugInfoAspect(Utils::AspectContainer *container = nullptr);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ProjectExplorer
|
} // namespace ProjectExplorer
|
||||||
|
@@ -98,7 +98,7 @@ QbsBuildConfiguration::QbsBuildConfiguration(Target *target, Utils::Id id)
|
|||||||
+ '_' + kit->fileSystemFriendlyName().left(8)
|
+ '_' + kit->fileSystemFriendlyName().left(8)
|
||||||
+ '_' + hash.toHex().left(16);
|
+ '_' + hash.toHex().left(16);
|
||||||
|
|
||||||
m_configurationName->setValue(uniqueConfigName);
|
configurationName.setValue(uniqueConfigName);
|
||||||
|
|
||||||
auto bs = buildSteps()->firstOfType<QbsBuildStep>();
|
auto bs = buildSteps()->firstOfType<QbsBuildStep>();
|
||||||
QTC_ASSERT(bs, return);
|
QTC_ASSERT(bs, return);
|
||||||
@@ -107,25 +107,21 @@ QbsBuildConfiguration::QbsBuildConfiguration(Target *target, Utils::Id id)
|
|||||||
emit qbsConfigurationChanged();
|
emit qbsConfigurationChanged();
|
||||||
});
|
});
|
||||||
|
|
||||||
m_configurationName = addAspect<StringAspect>();
|
configurationName.setSettingsKey("Qbs.configName");
|
||||||
m_configurationName->setLabelText(QbsProjectManager::Tr::tr("Configuration name:"));
|
configurationName.setLabelText(QbsProjectManager::Tr::tr("Configuration name:"));
|
||||||
m_configurationName->setSettingsKey("Qbs.configName");
|
configurationName.setDisplayStyle(StringAspect::LineEditDisplay);
|
||||||
m_configurationName->setDisplayStyle(StringAspect::LineEditDisplay);
|
connect(&configurationName, &StringAspect::changed,
|
||||||
connect(m_configurationName, &StringAspect::changed,
|
|
||||||
this, &BuildConfiguration::buildDirectoryChanged);
|
this, &BuildConfiguration::buildDirectoryChanged);
|
||||||
|
|
||||||
const auto separateDebugInfoAspect = addAspect<SeparateDebugInfoAspect>();
|
connect(&separateDebugInfoSetting, &BaseAspect::changed,
|
||||||
connect(separateDebugInfoAspect, &SeparateDebugInfoAspect::changed,
|
|
||||||
this, &QbsBuildConfiguration::qbsConfigurationChanged);
|
this, &QbsBuildConfiguration::qbsConfigurationChanged);
|
||||||
|
|
||||||
const auto qmlDebuggingAspect = addAspect<QtSupport::QmlDebuggingAspect>();
|
qmlDebuggingSetting.setBuildConfiguration(this);
|
||||||
qmlDebuggingAspect->setBuildConfiguration(this);
|
connect(&qmlDebuggingSetting, &BaseAspect::changed,
|
||||||
connect(qmlDebuggingAspect, &QtSupport::QmlDebuggingAspect::changed,
|
|
||||||
this, &QbsBuildConfiguration::qbsConfigurationChanged);
|
this, &QbsBuildConfiguration::qbsConfigurationChanged);
|
||||||
|
|
||||||
const auto qtQuickCompilerAspect = addAspect<QtSupport::QtQuickCompilerAspect>();
|
qtQuickCompilerSetting.setBuildConfiguration(this);
|
||||||
qtQuickCompilerAspect->setBuildConfiguration(this);
|
connect(&qtQuickCompilerSetting, &BaseAspect::changed,
|
||||||
connect(qtQuickCompilerAspect, &QtSupport::QtQuickCompilerAspect::changed,
|
|
||||||
this, &QbsBuildConfiguration::qbsConfigurationChanged);
|
this, &QbsBuildConfiguration::qbsConfigurationChanged);
|
||||||
|
|
||||||
connect(this, &BuildConfiguration::environmentChanged,
|
connect(this, &BuildConfiguration::environmentChanged,
|
||||||
@@ -171,11 +167,11 @@ bool QbsBuildConfiguration::fromMap(const QVariantMap &map)
|
|||||||
if (!BuildConfiguration::fromMap(map))
|
if (!BuildConfiguration::fromMap(map))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (m_configurationName->value().isEmpty()) { // pre-4.4 backwards compatibility
|
if (configurationName().isEmpty()) { // pre-4.4 backwards compatibility
|
||||||
const QString profileName = QbsProfileManager::profileNameForKit(target()->kit());
|
const QString profileName = QbsProfileManager::profileNameForKit(target()->kit());
|
||||||
const QString buildVariant = qbsConfiguration()
|
const QString buildVariant = qbsConfiguration()
|
||||||
.value(QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY)).toString();
|
.value(QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY)).toString();
|
||||||
m_configurationName->setValue(profileName + '-' + buildVariant);
|
configurationName.setValue(profileName + '-' + buildVariant);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -251,11 +247,6 @@ QStringList QbsBuildConfiguration::products() const
|
|||||||
return m_products;
|
return m_products;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString QbsBuildConfiguration::configurationName() const
|
|
||||||
{
|
|
||||||
return m_configurationName->value();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString QbsBuildConfiguration::equivalentCommandLine(const QbsBuildStepData &stepData) const
|
QString QbsBuildConfiguration::equivalentCommandLine(const QbsBuildStepData &stepData) const
|
||||||
{
|
{
|
||||||
CommandLine commandLine;
|
CommandLine commandLine;
|
||||||
@@ -302,21 +293,6 @@ QString QbsBuildConfiguration::equivalentCommandLine(const QbsBuildStepData &ste
|
|||||||
return commandLine.arguments();
|
return commandLine.arguments();
|
||||||
}
|
}
|
||||||
|
|
||||||
TriState QbsBuildConfiguration::qmlDebuggingSetting() const
|
|
||||||
{
|
|
||||||
return aspect<QtSupport::QmlDebuggingAspect>()->value();
|
|
||||||
}
|
|
||||||
|
|
||||||
TriState QbsBuildConfiguration::qtQuickCompilerSetting() const
|
|
||||||
{
|
|
||||||
return aspect<QtSupport::QtQuickCompilerAspect>()->value();
|
|
||||||
}
|
|
||||||
|
|
||||||
TriState QbsBuildConfiguration::separateDebugInfoSetting() const
|
|
||||||
{
|
|
||||||
return aspect<SeparateDebugInfoAspect>()->value();
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
// QbsBuildConfigurationFactory:
|
// QbsBuildConfigurationFactory:
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
@@ -60,12 +60,12 @@ public:
|
|||||||
void setProducts(const QStringList &products);
|
void setProducts(const QStringList &products);
|
||||||
QStringList products() const;
|
QStringList products() const;
|
||||||
|
|
||||||
QString configurationName() const;
|
|
||||||
QString equivalentCommandLine(const QbsBuildStepData &stepData) const;
|
QString equivalentCommandLine(const QbsBuildStepData &stepData) const;
|
||||||
|
|
||||||
Utils::TriState qmlDebuggingSetting() const;
|
Utils::StringAspect configurationName{this};
|
||||||
Utils::TriState qtQuickCompilerSetting() const;
|
ProjectExplorer::SeparateDebugInfoAspect separateDebugInfoSetting{this};
|
||||||
Utils::TriState separateDebugInfoSetting() const;
|
QtSupport::QmlDebuggingAspect qmlDebuggingSetting{this};
|
||||||
|
QtSupport::QtQuickCompilerAspect qtQuickCompilerSetting{this};
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void qbsConfigurationChanged();
|
void qbsConfigurationChanged();
|
||||||
@@ -78,7 +78,6 @@ private:
|
|||||||
QStringList m_changedFiles;
|
QStringList m_changedFiles;
|
||||||
QStringList m_activeFileTags;
|
QStringList m_activeFileTags;
|
||||||
QStringList m_products;
|
QStringList m_products;
|
||||||
Utils::StringAspect *m_configurationName = nullptr;
|
|
||||||
QbsBuildSystem *m_buildSystem = nullptr;
|
QbsBuildSystem *m_buildSystem = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user