forked from qt-creator/qt-creator
CMakePM: Do not allow staging dir setting for clean build step
CMake will fail with an error for the "--target clean install" combination. Change-Id: I6de31539a3ead57bbcde5ce9905a22c9aeb3fd12 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -226,7 +226,8 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, Id id) :
|
|||||||
|
|
||||||
useStaging.setSettingsKey(USE_STAGING_KEY);
|
useStaging.setSettingsKey(USE_STAGING_KEY);
|
||||||
useStaging.setLabel(Tr::tr("Stage for installation"), BoolAspect::LabelPlacement::AtCheckBox);
|
useStaging.setLabel(Tr::tr("Stage for installation"), BoolAspect::LabelPlacement::AtCheckBox);
|
||||||
useStaging.setDefaultValue(supportsStageForInstallation(kit()));
|
useStaging.setDefaultValue(supportsStageForInstallation(kit()) && !isCleanStep());
|
||||||
|
useStaging.setEnabled(!isCleanStep());
|
||||||
|
|
||||||
stagingDir.setSettingsKey(STAGING_DIR_KEY);
|
stagingDir.setSettingsKey(STAGING_DIR_KEY);
|
||||||
stagingDir.setLabelText(Tr::tr("Staging directory:"));
|
stagingDir.setLabelText(Tr::tr("Staging directory:"));
|
||||||
@@ -522,6 +523,11 @@ void CMakeBuildStep::setBuildPreset(const QString &preset)
|
|||||||
QWidget *CMakeBuildStep::createConfigWidget()
|
QWidget *CMakeBuildStep::createConfigWidget()
|
||||||
{
|
{
|
||||||
auto updateDetails = [this] {
|
auto updateDetails = [this] {
|
||||||
|
const bool haveCleanTarget = m_buildTargets.contains(cleanTarget());
|
||||||
|
useStaging.setEnabled(!haveCleanTarget);
|
||||||
|
if (useStaging() && haveCleanTarget)
|
||||||
|
useStaging.setValue(false);
|
||||||
|
|
||||||
ProcessParameters param;
|
ProcessParameters param;
|
||||||
setupProcessParameters(¶m);
|
setupProcessParameters(¶m);
|
||||||
param.setCommandLine(cmakeCommand());
|
param.setCommandLine(cmakeCommand());
|
||||||
|
|||||||
Reference in New Issue
Block a user