forked from qt-creator/qt-creator
ProjectExplorer: Add a setting for low build priority
Default is false. Task-number: QTCREATORBUG-23048 Change-Id: I0f0cc787229456aad2ddf47e4ef37bad58af2038 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
2a8a39f12b
commit
92c067ba36
@@ -87,7 +87,7 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl) :
|
|||||||
if (m_buildTarget.isEmpty())
|
if (m_buildTarget.isEmpty())
|
||||||
setBuildTarget(defaultBuildTarget());
|
setBuildTarget(defaultBuildTarget());
|
||||||
|
|
||||||
setLowPriority();
|
setLowPriorityIfConfigured();
|
||||||
|
|
||||||
connect(target(), &Target::kitChanged, this, &CMakeBuildStep::cmakeCommandChanged);
|
connect(target(), &Target::kitChanged, this, &CMakeBuildStep::cmakeCommandChanged);
|
||||||
connect(project(), &Project::parsingFinished,
|
connect(project(), &Project::parsingFinished,
|
||||||
|
@@ -30,6 +30,8 @@
|
|||||||
#include "ioutputparser.h"
|
#include "ioutputparser.h"
|
||||||
#include "processparameters.h"
|
#include "processparameters.h"
|
||||||
#include "project.h"
|
#include "project.h"
|
||||||
|
#include "projectexplorer.h"
|
||||||
|
#include "projectexplorersettings.h"
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
|
||||||
@@ -249,9 +251,10 @@ void AbstractProcessStep::doRun()
|
|||||||
processStarted();
|
processStarted();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AbstractProcessStep::setLowPriority()
|
void AbstractProcessStep::setLowPriorityIfConfigured()
|
||||||
{
|
{
|
||||||
d->m_lowPriority = true;
|
if (ProjectExplorerPlugin::projectExplorerSettings().lowBuildPriority)
|
||||||
|
d->m_lowPriority = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AbstractProcessStep::doCancel()
|
void AbstractProcessStep::doCancel()
|
||||||
|
@@ -57,7 +57,7 @@ protected:
|
|||||||
~AbstractProcessStep() override;
|
~AbstractProcessStep() override;
|
||||||
bool init() override;
|
bool init() override;
|
||||||
void doRun() override;
|
void doRun() override;
|
||||||
void setLowPriority();
|
void setLowPriorityIfConfigured();
|
||||||
virtual void finish(bool success);
|
virtual void finish(bool success);
|
||||||
|
|
||||||
virtual void processStarted();
|
virtual void processStarted();
|
||||||
|
@@ -65,7 +65,7 @@ MakeStep::MakeStep(BuildStepList *parent, Core::Id id)
|
|||||||
m_userJobCount(defaultJobCount())
|
m_userJobCount(defaultJobCount())
|
||||||
{
|
{
|
||||||
setDefaultDisplayName(defaultDisplayName());
|
setDefaultDisplayName(defaultDisplayName());
|
||||||
setLowPriority();
|
setLowPriorityIfConfigured();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MakeStep::setBuildTarget(const QString &buildTarget)
|
void MakeStep::setBuildTarget(const QString &buildTarget)
|
||||||
|
@@ -256,6 +256,7 @@ const char CLOSE_FILES_WITH_PROJECT_SETTINGS_KEY[]
|
|||||||
const char CLEAR_ISSUES_ON_REBUILD_SETTINGS_KEY[] = "ProjectExplorer/Settings/ClearIssuesOnRebuild";
|
const char CLEAR_ISSUES_ON_REBUILD_SETTINGS_KEY[] = "ProjectExplorer/Settings/ClearIssuesOnRebuild";
|
||||||
const char ABORT_BUILD_ALL_ON_ERROR_SETTINGS_KEY[]
|
const char ABORT_BUILD_ALL_ON_ERROR_SETTINGS_KEY[]
|
||||||
= "ProjectExplorer/Settings/AbortBuildAllOnError";
|
= "ProjectExplorer/Settings/AbortBuildAllOnError";
|
||||||
|
const char LOW_BUILD_PRIORITY_SETTINGS_KEY[] = "ProjectExplorer/Settings/LowBuildPriority";
|
||||||
|
|
||||||
} // namespace Constants
|
} // namespace Constants
|
||||||
|
|
||||||
@@ -1395,6 +1396,8 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
|||||||
= s->value(Constants::CLEAR_ISSUES_ON_REBUILD_SETTINGS_KEY, true).toBool();
|
= s->value(Constants::CLEAR_ISSUES_ON_REBUILD_SETTINGS_KEY, true).toBool();
|
||||||
dd->m_projectExplorerSettings.abortBuildAllOnError
|
dd->m_projectExplorerSettings.abortBuildAllOnError
|
||||||
= s->value(Constants::ABORT_BUILD_ALL_ON_ERROR_SETTINGS_KEY, true).toBool();
|
= s->value(Constants::ABORT_BUILD_ALL_ON_ERROR_SETTINGS_KEY, true).toBool();
|
||||||
|
dd->m_projectExplorerSettings.lowBuildPriority
|
||||||
|
= s->value(Constants::LOW_BUILD_PRIORITY_SETTINGS_KEY, false).toBool();
|
||||||
dd->m_projectExplorerSettings.buildDirectoryTemplate
|
dd->m_projectExplorerSettings.buildDirectoryTemplate
|
||||||
= s->value(Constants::DEFAULT_BUILD_DIRECTORY_TEMPLATE_KEY).toString();
|
= s->value(Constants::DEFAULT_BUILD_DIRECTORY_TEMPLATE_KEY).toString();
|
||||||
if (dd->m_projectExplorerSettings.buildDirectoryTemplate.isEmpty())
|
if (dd->m_projectExplorerSettings.buildDirectoryTemplate.isEmpty())
|
||||||
@@ -2002,6 +2005,8 @@ void ProjectExplorerPluginPrivate::savePersistentSettings()
|
|||||||
dd->m_projectExplorerSettings.clearIssuesOnRebuild);
|
dd->m_projectExplorerSettings.clearIssuesOnRebuild);
|
||||||
s->setValue(Constants::ABORT_BUILD_ALL_ON_ERROR_SETTINGS_KEY,
|
s->setValue(Constants::ABORT_BUILD_ALL_ON_ERROR_SETTINGS_KEY,
|
||||||
dd->m_projectExplorerSettings.abortBuildAllOnError);
|
dd->m_projectExplorerSettings.abortBuildAllOnError);
|
||||||
|
s->setValue(Constants::LOW_BUILD_PRIORITY_SETTINGS_KEY,
|
||||||
|
dd->m_projectExplorerSettings.lowBuildPriority);
|
||||||
s->setValue(QLatin1String("ProjectExplorer/Settings/AutomaticallyCreateRunConfigurations"),
|
s->setValue(QLatin1String("ProjectExplorer/Settings/AutomaticallyCreateRunConfigurations"),
|
||||||
dd->m_projectExplorerSettings.automaticallyCreateRunConfigurations);
|
dd->m_projectExplorerSettings.automaticallyCreateRunConfigurations);
|
||||||
s->setValue(QLatin1String("ProjectExplorer/Settings/EnvironmentId"), dd->m_projectExplorerSettings.environmentId.toByteArray());
|
s->setValue(QLatin1String("ProjectExplorer/Settings/EnvironmentId"), dd->m_projectExplorerSettings.environmentId.toByteArray());
|
||||||
|
@@ -52,6 +52,7 @@ public:
|
|||||||
bool closeSourceFilesWithProject = true;
|
bool closeSourceFilesWithProject = true;
|
||||||
bool clearIssuesOnRebuild = true;
|
bool clearIssuesOnRebuild = true;
|
||||||
bool abortBuildAllOnError = true;
|
bool abortBuildAllOnError = true;
|
||||||
|
bool lowBuildPriority = false;
|
||||||
StopBeforeBuild stopBeforeBuild = StopBeforeBuild::StopNone;
|
StopBeforeBuild stopBeforeBuild = StopBeforeBuild::StopNone;
|
||||||
TerminalMode terminalMode = TerminalMode::Smart;
|
TerminalMode terminalMode = TerminalMode::Smart;
|
||||||
QString buildDirectoryTemplate;
|
QString buildDirectoryTemplate;
|
||||||
@@ -78,6 +79,7 @@ inline bool operator==(const ProjectExplorerSettings &p1, const ProjectExplorerS
|
|||||||
&& p1.closeSourceFilesWithProject == p2.closeSourceFilesWithProject
|
&& p1.closeSourceFilesWithProject == p2.closeSourceFilesWithProject
|
||||||
&& p1.clearIssuesOnRebuild == p2.clearIssuesOnRebuild
|
&& p1.clearIssuesOnRebuild == p2.clearIssuesOnRebuild
|
||||||
&& p1.abortBuildAllOnError == p2.abortBuildAllOnError
|
&& p1.abortBuildAllOnError == p2.abortBuildAllOnError
|
||||||
|
&& p1.lowBuildPriority == p2.lowBuildPriority
|
||||||
&& p1.buildDirectoryTemplate == p2.buildDirectoryTemplate;
|
&& p1.buildDirectoryTemplate == p2.buildDirectoryTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -109,6 +109,7 @@ ProjectExplorerSettings ProjectExplorerSettingsWidget::settings() const
|
|||||||
m_settings.closeSourceFilesWithProject = m_ui.closeSourceFilesCheckBox->isChecked();
|
m_settings.closeSourceFilesWithProject = m_ui.closeSourceFilesCheckBox->isChecked();
|
||||||
m_settings.clearIssuesOnRebuild = m_ui.clearIssuesCheckBox->isChecked();
|
m_settings.clearIssuesOnRebuild = m_ui.clearIssuesCheckBox->isChecked();
|
||||||
m_settings.abortBuildAllOnError = m_ui.abortBuildAllOnErrorCheckBox->isChecked();
|
m_settings.abortBuildAllOnError = m_ui.abortBuildAllOnErrorCheckBox->isChecked();
|
||||||
|
m_settings.lowBuildPriority = m_ui.lowBuildPriorityCheckBox->isChecked();
|
||||||
m_settings.buildDirectoryTemplate = buildDirectoryTemplate();
|
m_settings.buildDirectoryTemplate = buildDirectoryTemplate();
|
||||||
return m_settings;
|
return m_settings;
|
||||||
}
|
}
|
||||||
@@ -128,6 +129,7 @@ void ProjectExplorerSettingsWidget::setSettings(const ProjectExplorerSettings &
|
|||||||
m_ui.closeSourceFilesCheckBox->setChecked(m_settings.closeSourceFilesWithProject);
|
m_ui.closeSourceFilesCheckBox->setChecked(m_settings.closeSourceFilesWithProject);
|
||||||
m_ui.clearIssuesCheckBox->setChecked(m_settings.clearIssuesOnRebuild);
|
m_ui.clearIssuesCheckBox->setChecked(m_settings.clearIssuesOnRebuild);
|
||||||
m_ui.abortBuildAllOnErrorCheckBox->setChecked(m_settings.abortBuildAllOnError);
|
m_ui.abortBuildAllOnErrorCheckBox->setChecked(m_settings.abortBuildAllOnError);
|
||||||
|
m_ui.lowBuildPriorityCheckBox->setChecked(m_settings.lowBuildPriority);
|
||||||
setBuildDirectoryTemplate(pes.buildDirectoryTemplate);
|
setBuildDirectoryTemplate(pes.buildDirectoryTemplate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -148,6 +148,16 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="lowBuildPriorityCheckBox">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Enable this if your system becomes unresponsive while building.</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Start build processes with low priority</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QFormLayout" name="formLayout">
|
<layout class="QFormLayout" name="formLayout">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
@@ -310,6 +320,7 @@
|
|||||||
<zorder>addLibraryPathsToRunEnvCheckBox</zorder>
|
<zorder>addLibraryPathsToRunEnvCheckBox</zorder>
|
||||||
<zorder>clearIssuesCheckBox</zorder>
|
<zorder>clearIssuesCheckBox</zorder>
|
||||||
<zorder>abortBuildAllOnErrorCheckBox</zorder>
|
<zorder>abortBuildAllOnErrorCheckBox</zorder>
|
||||||
|
<zorder>lowBuildPriorityCheckBox</zorder>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@@ -76,7 +76,7 @@ QMakeStep::QMakeStep(BuildStepList *bsl) : AbstractProcessStep(bsl, Constants::Q
|
|||||||
{
|
{
|
||||||
//: QMakeStep default display name
|
//: QMakeStep default display name
|
||||||
setDefaultDisplayName(tr("qmake"));
|
setDefaultDisplayName(tr("qmake"));
|
||||||
setLowPriority();
|
setLowPriorityIfConfigured();
|
||||||
}
|
}
|
||||||
|
|
||||||
QmakeBuildConfiguration *QMakeStep::qmakeBuildConfiguration() const
|
QmakeBuildConfiguration *QMakeStep::qmakeBuildConfiguration() const
|
||||||
|
Reference in New Issue
Block a user