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.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.setLabelText(Tr::tr("Staging directory:"));
|
||||
@@ -522,6 +523,11 @@ void CMakeBuildStep::setBuildPreset(const QString &preset)
|
||||
QWidget *CMakeBuildStep::createConfigWidget()
|
||||
{
|
||||
auto updateDetails = [this] {
|
||||
const bool haveCleanTarget = m_buildTargets.contains(cleanTarget());
|
||||
useStaging.setEnabled(!haveCleanTarget);
|
||||
if (useStaging() && haveCleanTarget)
|
||||
useStaging.setValue(false);
|
||||
|
||||
ProcessParameters param;
|
||||
setupProcessParameters(¶m);
|
||||
param.setCommandLine(cmakeCommand());
|
||||
|
||||
Reference in New Issue
Block a user