diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp
index 534bc27387e..62c3dffc119 100644
--- a/src/plugins/qmakeprojectmanager/qmakestep.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp
@@ -81,6 +81,17 @@ QMakeStep::QMakeStep(BuildStepList *bsl, Utils::Id id)
: AbstractProcessStep(bsl, id)
{
setLowPriority();
+
+ auto updateSummary = [this] {
+ BaseQtVersion *qtVersion = QtKitAspect::qtVersion(target()->kit());
+ if (!qtVersion)
+ return tr("qmake: No Qt version set. Cannot run qmake.");
+ const QString program = qtVersion->qmakeCommand().fileName();
+ return tr("qmake: %1 %2").arg(program, project()->projectFilePath().fileName());
+ };
+ setSummaryUpdater(updateSummary);
+
+ connect(target(), &Target::kitChanged, this, updateSummary);
}
QmakeBuildConfiguration *QMakeStep::qmakeBuildConfiguration() const
@@ -540,15 +551,6 @@ BuildStepConfigWidget *QMakeStep::createConfigWidget()
qmakeBuildConfigChanged();
- auto updateSummary = [this] {
- BaseQtVersion *qtVersion = QtKitAspect::qtVersion(target()->kit());
- if (!qtVersion)
- return tr("qmake: No Qt version set. Cannot run qmake.");
- const QString program = qtVersion->qmakeCommand().fileName();
- return tr("qmake: %1 %2").arg(program, project()->projectFilePath().fileName());
- };
- setSummaryUpdater(updateSummary);
-
updateSummary();
updateAbiWidgets();
updateEffectiveQMakeCall();
@@ -557,24 +559,27 @@ BuildStepConfigWidget *QMakeStep::createConfigWidget()
this, &QMakeStep::qmakeArgumentsLineEdited);
connect(buildConfigurationComboBox, QOverload::of(&QComboBox::currentIndexChanged),
this, &QMakeStep::buildConfigurationSelected);
+
connect(qmakeBuildConfiguration(), &QmakeBuildConfiguration::qmlDebuggingChanged,
- this, [this] {
+ widget, [this] {
linkQmlDebuggingLibraryChanged();
askForRebuild(tr("QML Debugging"));
});
+
connect(project(), &Project::projectLanguagesUpdated,
- this, &QMakeStep::linkQmlDebuggingLibraryChanged);
+ widget, [this] { linkQmlDebuggingLibraryChanged(); });
connect(target(), &Target::parsingFinished,
- qmakeArgumentsEdit, [this]() { updateEffectiveQMakeCall(); });
+ widget, [this] { updateEffectiveQMakeCall(); });
connect(qmakeBuildConfiguration(), &QmakeBuildConfiguration::useQtQuickCompilerChanged,
- this, &QMakeStep::useQtQuickCompilerChanged);
+ widget, [this] { useQtQuickCompilerChanged(); });
connect(qmakeBuildConfiguration(), &QmakeBuildConfiguration::separateDebugInfoChanged,
- this, &QMakeStep::separateDebugInfoChanged);
+ widget, [this] { separateDebugInfoChanged(); });
connect(qmakeBuildConfiguration(), &QmakeBuildConfiguration::qmakeBuildConfigurationChanged,
- this, &QMakeStep::qmakeBuildConfigChanged);
- connect(target(), &Target::kitChanged, this, &QMakeStep::qtVersionChanged);
- connect(target(), &Target::kitChanged, this, updateSummary);
- connect(abisListWidget, &QListWidget::itemChanged, this, [this]{
+ widget, [this] { qmakeBuildConfigChanged(); });
+ connect(target(), &Target::kitChanged,
+ widget, [this] { qtVersionChanged(); });
+
+ connect(abisListWidget, &QListWidget::itemChanged, this, [this] {
abisChanged();
if (QmakeBuildConfiguration *bc = qmakeBuildConfiguration())
BuildManager::buildLists({bc->cleanSteps()});