forked from qt-creator/qt-creator
Qbs: Continue aspectification of QbsBuildStep
This changeset only goes half-way, by introducing and using aspects for the easy cases (five bools and the job count int). Change-Id: Idb3a050f8bdd0c2c4eaf1c1d1cb4d71a5343321e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -32,11 +32,16 @@
|
|||||||
#include "qbssettings.h"
|
#include "qbssettings.h"
|
||||||
|
|
||||||
#include <coreplugin/icore.h>
|
#include <coreplugin/icore.h>
|
||||||
|
|
||||||
#include <projectexplorer/buildsteplist.h>
|
#include <projectexplorer/buildsteplist.h>
|
||||||
#include <projectexplorer/kit.h>
|
#include <projectexplorer/kit.h>
|
||||||
#include <projectexplorer/projectexplorerconstants.h>
|
#include <projectexplorer/projectexplorerconstants.h>
|
||||||
#include <projectexplorer/target.h>
|
#include <projectexplorer/target.h>
|
||||||
|
|
||||||
#include <qtsupport/qtversionmanager.h>
|
#include <qtsupport/qtversionmanager.h>
|
||||||
|
|
||||||
|
#include <utils/aspects.h>
|
||||||
|
#include <utils/layoutbuilder.h>
|
||||||
#include <utils/macroexpander.h>
|
#include <utils/macroexpander.h>
|
||||||
#include <utils/outputformatter.h>
|
#include <utils/outputformatter.h>
|
||||||
#include <utils/pathchooser.h>
|
#include <utils/pathchooser.h>
|
||||||
@@ -83,14 +88,8 @@ private:
|
|||||||
void updatePropertyEdit(const QVariantMap &data);
|
void updatePropertyEdit(const QVariantMap &data);
|
||||||
|
|
||||||
void changeBuildVariant(int);
|
void changeBuildVariant(int);
|
||||||
void changeShowCommandLines(bool show);
|
|
||||||
void changeKeepGoing(bool kg);
|
|
||||||
void changeJobCount(int count);
|
|
||||||
void changeInstall(bool install);
|
|
||||||
void changeCleanInstallRoot(bool clean);
|
|
||||||
void changeUseDefaultInstallDir(bool useDefault);
|
void changeUseDefaultInstallDir(bool useDefault);
|
||||||
void changeInstallDir(const QString &dir);
|
void changeInstallDir(const QString &dir);
|
||||||
void changeForceProbes(bool forceProbes);
|
|
||||||
void applyCachedProperties();
|
void applyCachedProperties();
|
||||||
|
|
||||||
QbsBuildStep *qbsStep() const;
|
QbsBuildStep *qbsStep() const;
|
||||||
@@ -121,14 +120,8 @@ private:
|
|||||||
bool m_ignoreChange = false;
|
bool m_ignoreChange = false;
|
||||||
|
|
||||||
QComboBox *buildVariantComboBox;
|
QComboBox *buildVariantComboBox;
|
||||||
QSpinBox *jobSpinBox;
|
|
||||||
FancyLineEdit *propertyEdit;
|
FancyLineEdit *propertyEdit;
|
||||||
PathChooser *installDirChooser;
|
PathChooser *installDirChooser;
|
||||||
QCheckBox *keepGoingCheckBox;
|
|
||||||
QCheckBox *showCommandLinesCheckBox;
|
|
||||||
QCheckBox *forceProbesCheckBox;
|
|
||||||
QCheckBox *installCheckBox;
|
|
||||||
QCheckBox *cleanInstallRootCheckBox;
|
|
||||||
QCheckBox *defaultInstallDirCheckBox;
|
QCheckBox *defaultInstallDirCheckBox;
|
||||||
QPlainTextEdit *commandLineTextEdit;
|
QPlainTextEdit *commandLineTextEdit;
|
||||||
};
|
};
|
||||||
@@ -151,6 +144,45 @@ QbsBuildStep::QbsBuildStep(BuildStepList *bsl, Utils::Id id) :
|
|||||||
qbsBuildConfig, &QbsBuildConfiguration::qbsConfigurationChanged);
|
qbsBuildConfig, &QbsBuildConfiguration::qbsConfigurationChanged);
|
||||||
|
|
||||||
// setQbsConfiguration(other->qbsConfiguration(PreserveVariables));
|
// setQbsConfiguration(other->qbsConfiguration(PreserveVariables));
|
||||||
|
|
||||||
|
m_keepGoing = addAspect<BoolAspect>();
|
||||||
|
m_keepGoing->setSettingsKey(QBS_KEEP_GOING);
|
||||||
|
m_keepGoing->setToolTip(tr("Keep going when errors occur (if at all possible)."));
|
||||||
|
m_keepGoing->setLabel(tr("Keep going"),
|
||||||
|
BoolAspect::LabelPlacement::AtCheckBoxWithoutDummyLabel);
|
||||||
|
|
||||||
|
m_maxJobCount = addAspect<IntegerAspect>();
|
||||||
|
m_maxJobCount->setSettingsKey(QBS_MAXJOBCOUNT);
|
||||||
|
m_maxJobCount->setLabel(tr("Parallel jobs:"));
|
||||||
|
m_maxJobCount->setToolTip(tr("Number of concurrent build jobs."));
|
||||||
|
m_maxJobCount->setValue(QThread::idealThreadCount());
|
||||||
|
|
||||||
|
m_showCommandLines = addAspect<BoolAspect>();
|
||||||
|
m_showCommandLines->setSettingsKey(QBS_SHOWCOMMANDLINES);
|
||||||
|
m_showCommandLines->setLabel(tr("Show command lines"),
|
||||||
|
BoolAspect::LabelPlacement::AtCheckBoxWithoutDummyLabel);
|
||||||
|
|
||||||
|
m_install = addAspect<BoolAspect>();
|
||||||
|
m_install->setSettingsKey(QBS_INSTALL);
|
||||||
|
m_install->setValue(true);
|
||||||
|
m_install->setLabel(tr("Install"), BoolAspect::LabelPlacement::AtCheckBoxWithoutDummyLabel);
|
||||||
|
|
||||||
|
m_cleanInstallDir = addAspect<BoolAspect>();
|
||||||
|
m_cleanInstallDir->setSettingsKey(QBS_CLEAN_INSTALL_ROOT);
|
||||||
|
m_cleanInstallDir->setLabel(tr("Clean install root"),
|
||||||
|
BoolAspect::LabelPlacement::AtCheckBoxWithoutDummyLabel);
|
||||||
|
|
||||||
|
m_forceProbes = addAspect<BoolAspect>();
|
||||||
|
m_forceProbes->setSettingsKey("Qbs.forceProbesKey");
|
||||||
|
m_forceProbes->setLabel(tr("Force probes"),
|
||||||
|
BoolAspect::LabelPlacement::AtCheckBoxWithoutDummyLabel);
|
||||||
|
|
||||||
|
connect(m_maxJobCount, &BaseAspect::changed, this, &QbsBuildStep::updateState);
|
||||||
|
connect(m_keepGoing, &BaseAspect::changed, this, &QbsBuildStep::updateState);
|
||||||
|
connect(m_showCommandLines, &BaseAspect::changed, this, &QbsBuildStep::updateState);
|
||||||
|
connect(m_install, &BaseAspect::changed, this, &QbsBuildStep::updateState);
|
||||||
|
connect(m_cleanInstallDir, &BaseAspect::changed, this, &QbsBuildStep::updateState);
|
||||||
|
connect(m_forceProbes, &BaseAspect::changed, this, &QbsBuildStep::updateState);
|
||||||
}
|
}
|
||||||
|
|
||||||
QbsBuildStep::~QbsBuildStep()
|
QbsBuildStep::~QbsBuildStep()
|
||||||
@@ -208,7 +240,7 @@ QVariantMap QbsBuildStep::qbsConfiguration(VariableHandling variableHandling) co
|
|||||||
{
|
{
|
||||||
QVariantMap config = m_qbsConfiguration;
|
QVariantMap config = m_qbsConfiguration;
|
||||||
const auto qbsBuildConfig = static_cast<QbsBuildConfiguration *>(buildConfiguration());
|
const auto qbsBuildConfig = static_cast<QbsBuildConfiguration *>(buildConfiguration());
|
||||||
config.insert(Constants::QBS_FORCE_PROBES_KEY, m_forceProbes);
|
config.insert(Constants::QBS_FORCE_PROBES_KEY, m_forceProbes->value());
|
||||||
|
|
||||||
const auto store = [&config](TriState ts, const QString &key) {
|
const auto store = [&config](TriState ts, const QString &key) {
|
||||||
if (ts == TriState::Enabled)
|
if (ts == TriState::Enabled)
|
||||||
@@ -274,25 +306,17 @@ Utils::FilePath QbsBuildStep::installRoot(VariableHandling variableHandling) con
|
|||||||
|
|
||||||
int QbsBuildStep::maxJobs() const
|
int QbsBuildStep::maxJobs() const
|
||||||
{
|
{
|
||||||
if (m_maxJobCount > 0)
|
if (m_maxJobCount->value() > 0)
|
||||||
return m_maxJobCount;
|
return m_maxJobCount->value();
|
||||||
return QThread::idealThreadCount();
|
return QThread::idealThreadCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
static QString forceProbesKey() { return QLatin1String("Qbs.forceProbesKey"); }
|
|
||||||
|
|
||||||
bool QbsBuildStep::fromMap(const QVariantMap &map)
|
bool QbsBuildStep::fromMap(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!ProjectExplorer::BuildStep::fromMap(map))
|
if (!ProjectExplorer::BuildStep::fromMap(map))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
setQbsConfiguration(map.value(QBS_CONFIG).toMap());
|
setQbsConfiguration(map.value(QBS_CONFIG).toMap());
|
||||||
m_keepGoing = map.value(QBS_KEEP_GOING).toBool();
|
|
||||||
m_maxJobCount = map.value(QBS_MAXJOBCOUNT).toInt();
|
|
||||||
m_showCommandLines = map.value(QBS_SHOWCOMMANDLINES).toBool();
|
|
||||||
m_install = map.value(QBS_INSTALL, true).toBool();
|
|
||||||
m_cleanInstallDir = map.value(QBS_CLEAN_INSTALL_ROOT).toBool();
|
|
||||||
m_forceProbes = map.value(forceProbesKey()).toBool();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -300,12 +324,6 @@ QVariantMap QbsBuildStep::toMap() const
|
|||||||
{
|
{
|
||||||
QVariantMap map = ProjectExplorer::BuildStep::toMap();
|
QVariantMap map = ProjectExplorer::BuildStep::toMap();
|
||||||
map.insert(QBS_CONFIG, m_qbsConfiguration);
|
map.insert(QBS_CONFIG, m_qbsConfiguration);
|
||||||
map.insert(QBS_KEEP_GOING, m_keepGoing);
|
|
||||||
map.insert(QBS_MAXJOBCOUNT, m_maxJobCount);
|
|
||||||
map.insert(QBS_SHOWCOMMANDLINES, m_showCommandLines);
|
|
||||||
map.insert(QBS_INSTALL, m_install);
|
|
||||||
map.insert(QBS_CLEAN_INSTALL_ROOT, m_cleanInstallDir);
|
|
||||||
map.insert(forceProbesKey(), m_forceProbes);
|
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -419,46 +437,6 @@ QString QbsBuildStep::profile() const
|
|||||||
return qbsConfiguration(PreserveVariables).value(Constants::QBS_CONFIG_PROFILE_KEY).toString();
|
return qbsConfiguration(PreserveVariables).value(Constants::QBS_CONFIG_PROFILE_KEY).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
void QbsBuildStep::setKeepGoing(bool kg)
|
|
||||||
{
|
|
||||||
if (m_keepGoing == kg)
|
|
||||||
return;
|
|
||||||
m_keepGoing = kg;
|
|
||||||
emit qbsBuildOptionsChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStep::setMaxJobs(int jobcount)
|
|
||||||
{
|
|
||||||
if (m_maxJobCount == jobcount)
|
|
||||||
return;
|
|
||||||
m_maxJobCount = jobcount;
|
|
||||||
emit qbsBuildOptionsChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStep::setShowCommandLines(bool show)
|
|
||||||
{
|
|
||||||
if (showCommandLines() == show)
|
|
||||||
return;
|
|
||||||
m_showCommandLines = show;
|
|
||||||
emit qbsBuildOptionsChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStep::setInstall(bool install)
|
|
||||||
{
|
|
||||||
if (m_install == install)
|
|
||||||
return;
|
|
||||||
m_install = install;
|
|
||||||
emit qbsBuildOptionsChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStep::setCleanInstallRoot(bool clean)
|
|
||||||
{
|
|
||||||
if (m_cleanInstallDir == clean)
|
|
||||||
return;
|
|
||||||
m_cleanInstallDir = clean;
|
|
||||||
emit qbsBuildOptionsChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStep::parseProject()
|
void QbsBuildStep::parseProject()
|
||||||
{
|
{
|
||||||
m_parsingProject = true;
|
m_parsingProject = true;
|
||||||
@@ -513,17 +491,22 @@ void QbsBuildStep::finish()
|
|||||||
emit finished(m_lastWasSuccess);
|
emit finished(m_lastWasSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QbsBuildStep::updateState()
|
||||||
|
{
|
||||||
|
emit qbsConfigurationChanged();
|
||||||
|
}
|
||||||
|
|
||||||
QbsBuildStepData QbsBuildStep::stepData() const
|
QbsBuildStepData QbsBuildStep::stepData() const
|
||||||
{
|
{
|
||||||
QbsBuildStepData data;
|
QbsBuildStepData data;
|
||||||
data.command = "build";
|
data.command = "build";
|
||||||
data.dryRun = false;
|
data.dryRun = false;
|
||||||
data.keepGoing = m_keepGoing;
|
data.keepGoing = m_keepGoing->value();
|
||||||
data.forceProbeExecution = m_forceProbes;
|
data.forceProbeExecution = m_forceProbes->value();
|
||||||
data.showCommandLines = m_showCommandLines;
|
data.showCommandLines = m_showCommandLines->value();
|
||||||
data.noInstall = !m_install;
|
data.noInstall = !m_install->value();
|
||||||
data.noBuild = false;
|
data.noBuild = false;
|
||||||
data.cleanInstallRoot = m_cleanInstallDir;
|
data.cleanInstallRoot = m_cleanInstallDir->value();
|
||||||
data.jobCount = maxJobs();
|
data.jobCount = maxJobs();
|
||||||
data.installRoot = installRoot();
|
data.installRoot = installRoot();
|
||||||
return data;
|
return data;
|
||||||
@@ -575,35 +558,10 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step) :
|
|||||||
horizontalLayout_5->addWidget(buildVariantComboBox);
|
horizontalLayout_5->addWidget(buildVariantComboBox);
|
||||||
horizontalLayout_5->addItem(new QSpacerItem(70, 13, QSizePolicy::Expanding, QSizePolicy::Minimum));
|
horizontalLayout_5->addItem(new QSpacerItem(70, 13, QSizePolicy::Expanding, QSizePolicy::Minimum));
|
||||||
|
|
||||||
jobSpinBox = new QSpinBox(this);
|
|
||||||
|
|
||||||
auto horizontalLayout_6 = new QHBoxLayout();
|
|
||||||
horizontalLayout_6->addWidget(jobSpinBox);
|
|
||||||
horizontalLayout_6->addItem(new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum));
|
|
||||||
|
|
||||||
propertyEdit = new FancyLineEdit(this);
|
propertyEdit = new FancyLineEdit(this);
|
||||||
keepGoingCheckBox = new QCheckBox(this);
|
|
||||||
showCommandLinesCheckBox = new QCheckBox(this);
|
|
||||||
forceProbesCheckBox = new QCheckBox(this);
|
|
||||||
|
|
||||||
auto flagsLayout = new QHBoxLayout();
|
|
||||||
flagsLayout->addWidget(keepGoingCheckBox);
|
|
||||||
flagsLayout->addWidget(showCommandLinesCheckBox);
|
|
||||||
flagsLayout->addWidget(forceProbesCheckBox);
|
|
||||||
flagsLayout->addItem(new QSpacerItem(40, 13, QSizePolicy::Expanding, QSizePolicy::Minimum));
|
|
||||||
|
|
||||||
installCheckBox = new QCheckBox(this);
|
|
||||||
|
|
||||||
cleanInstallRootCheckBox = new QCheckBox(this);
|
|
||||||
|
|
||||||
defaultInstallDirCheckBox = new QCheckBox(this);
|
defaultInstallDirCheckBox = new QCheckBox(this);
|
||||||
|
|
||||||
auto installLayout = new QHBoxLayout();
|
|
||||||
installLayout->addWidget(installCheckBox);
|
|
||||||
installLayout->addWidget(cleanInstallRootCheckBox);
|
|
||||||
installLayout->addWidget(defaultInstallDirCheckBox);
|
|
||||||
installLayout->addItem(new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum));
|
|
||||||
|
|
||||||
installDirChooser = new PathChooser(this);
|
installDirChooser = new PathChooser(this);
|
||||||
installDirChooser->setExpectedKind(PathChooser::Directory);
|
installDirChooser->setExpectedKind(PathChooser::Directory);
|
||||||
|
|
||||||
@@ -612,32 +570,25 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step) :
|
|||||||
commandLineTextEdit->setReadOnly(true);
|
commandLineTextEdit->setReadOnly(true);
|
||||||
commandLineTextEdit->setTextInteractionFlags(Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse);
|
commandLineTextEdit->setTextInteractionFlags(Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse);
|
||||||
|
|
||||||
auto formLayout = new QFormLayout(this);
|
LayoutBuilder builder(this);
|
||||||
formLayout->addRow(tr("Build variant:"), horizontalLayout_5);
|
builder.addRow({tr("Build variant:"), horizontalLayout_5});
|
||||||
formLayout->addRow(tr("Parallel jobs:"), horizontalLayout_6);
|
builder.addRow(m_qbsStep->m_maxJobCount);
|
||||||
formLayout->addRow(tr("Properties:"), propertyEdit);
|
builder.addRow({tr("Properties:"), propertyEdit});
|
||||||
formLayout->addRow(tr("Flags:"), flagsLayout);
|
|
||||||
formLayout->addRow(tr("Installation flags:"), installLayout);
|
|
||||||
formLayout->addRow(tr("Installation directory:"), installDirChooser);
|
|
||||||
formLayout->addRow(tr("Equivalent command line:"), commandLineTextEdit);
|
|
||||||
|
|
||||||
QWidget::setTabOrder(buildVariantComboBox, jobSpinBox);
|
builder.addRow(tr("Flags:"));
|
||||||
QWidget::setTabOrder(jobSpinBox, propertyEdit);
|
m_qbsStep->m_keepGoing->addToLayout(builder);
|
||||||
QWidget::setTabOrder(propertyEdit, keepGoingCheckBox);
|
m_qbsStep->m_showCommandLines->addToLayout(builder);
|
||||||
QWidget::setTabOrder(keepGoingCheckBox, showCommandLinesCheckBox);
|
m_qbsStep->m_forceProbes->addToLayout(builder);
|
||||||
QWidget::setTabOrder(showCommandLinesCheckBox, forceProbesCheckBox);
|
|
||||||
QWidget::setTabOrder(forceProbesCheckBox, installCheckBox);
|
builder.addRow(tr("Installation flags:"));
|
||||||
QWidget::setTabOrder(installCheckBox, cleanInstallRootCheckBox);
|
m_qbsStep->m_install->addToLayout(builder);
|
||||||
QWidget::setTabOrder(cleanInstallRootCheckBox, commandLineTextEdit);
|
m_qbsStep->m_cleanInstallDir->addToLayout(builder);
|
||||||
|
builder.addItem(defaultInstallDirCheckBox);
|
||||||
|
|
||||||
|
builder.addRow({tr("Installation directory:"), installDirChooser});
|
||||||
|
builder.addRow({tr("Equivalent command line:"), commandLineTextEdit});
|
||||||
|
|
||||||
jobSpinBox->setToolTip(tr("Number of concurrent build jobs."));
|
|
||||||
propertyEdit->setToolTip(tr("Properties to pass to the project."));
|
propertyEdit->setToolTip(tr("Properties to pass to the project."));
|
||||||
keepGoingCheckBox->setToolTip(tr("Keep going when errors occur (if at all possible)."));
|
|
||||||
keepGoingCheckBox->setText(tr("Keep going"));
|
|
||||||
showCommandLinesCheckBox->setText(tr("Show command lines"));
|
|
||||||
forceProbesCheckBox->setText(tr("Force probes"));
|
|
||||||
installCheckBox->setText(tr("Install"));
|
|
||||||
cleanInstallRootCheckBox->setText(tr("Clean install root"));
|
|
||||||
defaultInstallDirCheckBox->setText(tr("Use default location"));
|
defaultInstallDirCheckBox->setText(tr("Use default location"));
|
||||||
|
|
||||||
auto chooser = new VariableChooser(this);
|
auto chooser = new VariableChooser(this);
|
||||||
@@ -651,37 +602,22 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step) :
|
|||||||
connect(buildVariantComboBox,
|
connect(buildVariantComboBox,
|
||||||
QOverload<int>::of(&QComboBox::currentIndexChanged),
|
QOverload<int>::of(&QComboBox::currentIndexChanged),
|
||||||
this, &QbsBuildStepConfigWidget::changeBuildVariant);
|
this, &QbsBuildStepConfigWidget::changeBuildVariant);
|
||||||
connect(keepGoingCheckBox, &QAbstractButton::toggled,
|
|
||||||
this, &QbsBuildStepConfigWidget::changeKeepGoing);
|
|
||||||
connect(jobSpinBox, QOverload<int>::of(&QSpinBox::valueChanged),
|
|
||||||
this, &QbsBuildStepConfigWidget::changeJobCount);
|
|
||||||
connect(showCommandLinesCheckBox, &QCheckBox::toggled, this,
|
|
||||||
&QbsBuildStepConfigWidget::changeShowCommandLines);
|
|
||||||
connect(installCheckBox, &QCheckBox::toggled, this,
|
|
||||||
&QbsBuildStepConfigWidget::changeInstall);
|
|
||||||
connect(cleanInstallRootCheckBox, &QCheckBox::toggled, this,
|
|
||||||
&QbsBuildStepConfigWidget::changeCleanInstallRoot);
|
|
||||||
connect(defaultInstallDirCheckBox, &QCheckBox::toggled, this,
|
connect(defaultInstallDirCheckBox, &QCheckBox::toggled, this,
|
||||||
&QbsBuildStepConfigWidget::changeUseDefaultInstallDir);
|
&QbsBuildStepConfigWidget::changeUseDefaultInstallDir);
|
||||||
|
|
||||||
connect(installDirChooser, &Utils::PathChooser::rawPathChanged, this,
|
connect(installDirChooser, &Utils::PathChooser::rawPathChanged, this,
|
||||||
&QbsBuildStepConfigWidget::changeInstallDir);
|
&QbsBuildStepConfigWidget::changeInstallDir);
|
||||||
connect(forceProbesCheckBox, &QCheckBox::toggled, this,
|
|
||||||
&QbsBuildStepConfigWidget::changeForceProbes);
|
|
||||||
updateState();
|
updateState();
|
||||||
}
|
}
|
||||||
|
|
||||||
void QbsBuildStepConfigWidget::updateState()
|
void QbsBuildStepConfigWidget::updateState()
|
||||||
{
|
{
|
||||||
if (!m_ignoreChange) {
|
if (!m_ignoreChange) {
|
||||||
keepGoingCheckBox->setChecked(qbsStep()->keepGoing());
|
updatePropertyEdit(m_qbsStep->qbsConfiguration(QbsBuildStep::PreserveVariables));
|
||||||
jobSpinBox->setValue(qbsStep()->maxJobs());
|
installDirChooser->setFilePath(m_qbsStep->installRoot(QbsBuildStep::PreserveVariables));
|
||||||
showCommandLinesCheckBox->setChecked(qbsStep()->showCommandLines());
|
defaultInstallDirCheckBox->setChecked(!m_qbsStep->hasCustomInstallRoot());
|
||||||
installCheckBox->setChecked(qbsStep()->install());
|
|
||||||
cleanInstallRootCheckBox->setChecked(qbsStep()->cleanInstallRoot());
|
|
||||||
forceProbesCheckBox->setChecked(qbsStep()->forceProbes());
|
|
||||||
updatePropertyEdit(qbsStep()->qbsConfiguration(QbsBuildStep::PreserveVariables));
|
|
||||||
installDirChooser->setFilePath(qbsStep()->installRoot(QbsBuildStep::PreserveVariables));
|
|
||||||
defaultInstallDirCheckBox->setChecked(!qbsStep()->hasCustomInstallRoot());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString buildVariant = qbsStep()->buildVariant();
|
const QString buildVariant = qbsStep()->buildVariant();
|
||||||
@@ -749,41 +685,6 @@ void QbsBuildStepConfigWidget::changeBuildVariant(int idx)
|
|||||||
m_ignoreChange = false;
|
m_ignoreChange = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QbsBuildStepConfigWidget::changeShowCommandLines(bool show)
|
|
||||||
{
|
|
||||||
m_ignoreChange = true;
|
|
||||||
qbsStep()->setShowCommandLines(show);
|
|
||||||
m_ignoreChange = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStepConfigWidget::changeKeepGoing(bool kg)
|
|
||||||
{
|
|
||||||
m_ignoreChange = true;
|
|
||||||
qbsStep()->setKeepGoing(kg);
|
|
||||||
m_ignoreChange = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStepConfigWidget::changeJobCount(int count)
|
|
||||||
{
|
|
||||||
m_ignoreChange = true;
|
|
||||||
qbsStep()->setMaxJobs(count);
|
|
||||||
m_ignoreChange = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStepConfigWidget::changeInstall(bool install)
|
|
||||||
{
|
|
||||||
m_ignoreChange = true;
|
|
||||||
qbsStep()->setInstall(install);
|
|
||||||
m_ignoreChange = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStepConfigWidget::changeCleanInstallRoot(bool clean)
|
|
||||||
{
|
|
||||||
m_ignoreChange = true;
|
|
||||||
qbsStep()->setCleanInstallRoot(clean);
|
|
||||||
m_ignoreChange = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStepConfigWidget::changeUseDefaultInstallDir(bool useDefault)
|
void QbsBuildStepConfigWidget::changeUseDefaultInstallDir(bool useDefault)
|
||||||
{
|
{
|
||||||
m_ignoreChange = true;
|
m_ignoreChange = true;
|
||||||
@@ -808,13 +709,6 @@ void QbsBuildStepConfigWidget::changeInstallDir(const QString &dir)
|
|||||||
m_ignoreChange = false;
|
m_ignoreChange = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QbsBuildStepConfigWidget::changeForceProbes(bool forceProbes)
|
|
||||||
{
|
|
||||||
m_ignoreChange = true;
|
|
||||||
qbsStep()->setForceProbes(forceProbes);
|
|
||||||
m_ignoreChange = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsBuildStepConfigWidget::applyCachedProperties()
|
void QbsBuildStepConfigWidget::applyCachedProperties()
|
||||||
{
|
{
|
||||||
QVariantMap data;
|
QVariantMap data;
|
||||||
|
@@ -30,7 +30,10 @@
|
|||||||
#include <projectexplorer/buildstep.h>
|
#include <projectexplorer/buildstep.h>
|
||||||
#include <projectexplorer/task.h>
|
#include <projectexplorer/task.h>
|
||||||
|
|
||||||
namespace Utils { class FancyLineEdit; }
|
namespace Utils {
|
||||||
|
class BoolAspect;
|
||||||
|
class FancyLineEdit;
|
||||||
|
} // Utils
|
||||||
|
|
||||||
namespace QbsProjectManager {
|
namespace QbsProjectManager {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
@@ -57,17 +60,16 @@ public:
|
|||||||
QVariantMap qbsConfiguration(VariableHandling variableHandling) const;
|
QVariantMap qbsConfiguration(VariableHandling variableHandling) const;
|
||||||
void setQbsConfiguration(const QVariantMap &config);
|
void setQbsConfiguration(const QVariantMap &config);
|
||||||
|
|
||||||
bool keepGoing() const { return m_keepGoing; }
|
bool keepGoing() const { return m_keepGoing->value(); }
|
||||||
bool showCommandLines() const { return m_showCommandLines; }
|
bool showCommandLines() const { return m_showCommandLines->value(); }
|
||||||
bool install() const { return m_install; }
|
bool install() const { return m_install->value(); }
|
||||||
bool cleanInstallRoot() const { return m_cleanInstallDir; }
|
bool cleanInstallRoot() const { return m_cleanInstallDir->value(); }
|
||||||
bool hasCustomInstallRoot() const;
|
bool hasCustomInstallRoot() const;
|
||||||
Utils::FilePath installRoot(VariableHandling variableHandling = ExpandVariables) const;
|
Utils::FilePath installRoot(VariableHandling variableHandling = ExpandVariables) const;
|
||||||
int maxJobs() const;
|
int maxJobs() const;
|
||||||
QString buildVariant() const;
|
QString buildVariant() const;
|
||||||
|
|
||||||
void setForceProbes(bool force) { m_forceProbes = force; emit qbsConfigurationChanged(); }
|
bool forceProbes() const { return m_forceProbes->value(); }
|
||||||
bool forceProbes() const { return m_forceProbes; }
|
|
||||||
|
|
||||||
QbsBuildSystem *qbsBuildSystem() const;
|
QbsBuildSystem *qbsBuildSystem() const;
|
||||||
QbsBuildStepData stepData() const;
|
QbsBuildStepData stepData() const;
|
||||||
@@ -106,23 +108,19 @@ private:
|
|||||||
void setBuildVariant(const QString &variant);
|
void setBuildVariant(const QString &variant);
|
||||||
QString profile() const;
|
QString profile() const;
|
||||||
|
|
||||||
void setKeepGoing(bool kg);
|
|
||||||
void setMaxJobs(int jobcount);
|
|
||||||
void setShowCommandLines(bool show);
|
|
||||||
void setInstall(bool install);
|
|
||||||
void setCleanInstallRoot(bool clean);
|
|
||||||
|
|
||||||
void parseProject();
|
void parseProject();
|
||||||
void build();
|
void build();
|
||||||
void finish();
|
void finish();
|
||||||
|
|
||||||
|
void updateState();
|
||||||
|
|
||||||
QVariantMap m_qbsConfiguration;
|
QVariantMap m_qbsConfiguration;
|
||||||
int m_maxJobCount = 0;
|
Utils::IntegerAspect *m_maxJobCount = nullptr;
|
||||||
bool m_keepGoing = false;
|
Utils::BoolAspect *m_keepGoing = nullptr;
|
||||||
bool m_showCommandLines = false;
|
Utils::BoolAspect *m_showCommandLines = nullptr;
|
||||||
bool m_install = true;
|
Utils::BoolAspect *m_install = nullptr;
|
||||||
bool m_cleanInstallDir = false;
|
Utils::BoolAspect *m_cleanInstallDir = nullptr;
|
||||||
bool m_forceProbes = false;
|
Utils::BoolAspect *m_forceProbes = nullptr;
|
||||||
|
|
||||||
// Temporary data:
|
// Temporary data:
|
||||||
QStringList m_changedFiles;
|
QStringList m_changedFiles;
|
||||||
|
Reference in New Issue
Block a user