diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
index d0714872fd5..ae589981ead 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
@@ -148,7 +148,9 @@ void QbsBuildStep::cancel()
QVariantMap QbsBuildStep::qbsConfiguration() const
{
- return m_qbsConfiguration;
+ QVariantMap config = m_qbsConfiguration;
+ config.insert(QLatin1String(Constants::QBS_FORCE_PROBES_KEY), m_forceProbes);
+ return config;
}
void QbsBuildStep::setQbsConfiguration(const QVariantMap &config)
@@ -197,6 +199,8 @@ int QbsBuildStep::maxJobs() const
return qbs::BuildOptions::defaultMaxJobCount();
}
+static QString forceProbesKey() { return QLatin1String("Qbs.forceProbesKey"); }
+
bool QbsBuildStep::fromMap(const QVariantMap &map)
{
if (!ProjectExplorer::BuildStep::fromMap(map))
@@ -212,6 +216,7 @@ bool QbsBuildStep::fromMap(const QVariantMap &map)
m_qbsBuildOptions.setInstall(map.value(QLatin1String(QBS_INSTALL), true).toBool());
m_qbsBuildOptions.setRemoveExistingInstallation(map.value(QLatin1String(QBS_CLEAN_INSTALL_ROOT))
.toBool());
+ m_forceProbes = map.value(forceProbesKey()).toBool();
return true;
}
@@ -227,6 +232,7 @@ QVariantMap QbsBuildStep::toMap() const
map.insert(QLatin1String(QBS_INSTALL), m_qbsBuildOptions.install());
map.insert(QLatin1String(QBS_CLEAN_INSTALL_ROOT),
m_qbsBuildOptions.removeExistingInstallation());
+ map.insert(forceProbesKey(), m_forceProbes);
return map;
}
@@ -478,6 +484,8 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step) :
&QbsBuildStepConfigWidget::changeInstall);
connect(m_ui->cleanInstallRootCheckBox, &QCheckBox::toggled, this,
&QbsBuildStepConfigWidget::changeCleanInstallRoot);
+ connect(m_ui->forceProbesCheckBox, &QCheckBox::toggled, this,
+ &QbsBuildStepConfigWidget::changeForceProbes);
connect(m_ui->qmlDebuggingLibraryCheckBox, SIGNAL(toggled(bool)),
this, SLOT(linkQmlDebuggingLibraryChecked(bool)));
connect(QtSupport::QtVersionManager::instance(), SIGNAL(dumpUpdatedFor(Utils::FileName)),
@@ -508,6 +516,7 @@ void QbsBuildStepConfigWidget::updateState()
m_ui->showCommandLinesCheckBox->setChecked(m_step->showCommandLines());
m_ui->installCheckBox->setChecked(m_step->install());
m_ui->cleanInstallRootCheckBox->setChecked(m_step->cleanInstallRoot());
+ m_ui->forceProbesCheckBox->setChecked(m_step->forceProbes());
updatePropertyEdit(m_step->qbsConfiguration());
m_ui->qmlDebuggingLibraryCheckBox->setChecked(m_step->isQmlDebuggingEnabled());
}
@@ -614,6 +623,13 @@ void QbsBuildStepConfigWidget::changeCleanInstallRoot(bool clean)
m_ignoreChange = false;
}
+void QbsBuildStepConfigWidget::changeForceProbes(bool forceProbes)
+{
+ m_ignoreChange = true;
+ m_step->setForceProbes(forceProbes);
+ m_ignoreChange = false;
+}
+
void QbsBuildStepConfigWidget::applyCachedProperties()
{
QVariantMap data;
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.h b/src/plugins/qbsprojectmanager/qbsbuildstep.h
index 9c3f825c2b2..e45e7b9ac57 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstep.h
+++ b/src/plugins/qbsprojectmanager/qbsbuildstep.h
@@ -68,6 +68,9 @@ public:
int maxJobs() const;
QString buildVariant() const;
+ void setForceProbes(bool force) { m_forceProbes = force; emit qbsConfigurationChanged(); }
+ bool forceProbes() const { return m_forceProbes; }
+
bool isQmlDebuggingEnabled() const;
bool fromMap(const QVariantMap &map) override;
@@ -106,6 +109,7 @@ private:
QVariantMap m_qbsConfiguration;
qbs::BuildOptions m_qbsBuildOptions;
+ bool m_forceProbes = false;
// Temporary data:
QStringList m_changedFiles;
@@ -144,6 +148,7 @@ private slots:
void changeJobCount(int count);
void changeInstall(bool install);
void changeCleanInstallRoot(bool clean);
+ void changeForceProbes(bool forceProbes);
void applyCachedProperties();
// QML debugging:
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui b/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui
index 8bce99a125b..f1ade9da945 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui
+++ b/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui
@@ -7,7 +7,7 @@
0
0
730
- 247
+ 256
@@ -189,6 +189,13 @@
+ -
+
+
+ Force probes
+
+
+
-
diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h
index ce89cccd117..a446ef62ca7 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h
+++ b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h
@@ -59,6 +59,7 @@ static const char QBS_CONFIG_VARIANT_KEY[] = "qbs.buildVariant";
static const char QBS_CONFIG_PROFILE_KEY[] = "qbs.profile";
static const char QBS_CONFIG_DECLARATIVE_DEBUG_KEY[] = "Qt.declarative.qmlDebugging";
static const char QBS_CONFIG_QUICK_DEBUG_KEY[] = "Qt.quick.qmlDebugging";
+const char QBS_FORCE_PROBES_KEY[] = "qbspm.forceProbes";
// Icons:
static const char QBS_GROUP_ICON[] = ":/qbsprojectmanager/images/groups.png";
diff --git a/src/plugins/qbsprojectmanager/qbsprojectparser.cpp b/src/plugins/qbsprojectmanager/qbsprojectparser.cpp
index d477062341e..4137eeed4cf 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectparser.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectparser.cpp
@@ -88,6 +88,8 @@ void QbsProjectParser::parse(const QVariantMap &config, const Environment &env,
params.setTopLevelProfile(profileName);
specialKey = QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY);
params.setBuildVariant(userConfig.take(specialKey).toString());
+ specialKey = QLatin1String(Constants::QBS_FORCE_PROBES_KEY);
+ params.setForceProbeExecution(userConfig.take(specialKey).toBool());
params.setSettingsDirectory(QbsManager::settings()->baseDirectory());
params.setOverriddenValues(userConfig);