diff options
Diffstat (limited to 'src/plugins/projectexplorer/makestep.cpp')
-rw-r--r-- | src/plugins/projectexplorer/makestep.cpp | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/plugins/projectexplorer/makestep.cpp b/src/plugins/projectexplorer/makestep.cpp index 7e171236fe..ad44e822fb 100644 --- a/src/plugins/projectexplorer/makestep.cpp +++ b/src/plugins/projectexplorer/makestep.cpp @@ -83,9 +83,7 @@ MakeStep::MakeStep(BuildStepList *parent, Id id) m_userArgumentsAspect->setLabelText(tr("Make arguments:")); m_userArgumentsAspect->setDisplayStyle(StringAspect::LineEditDisplay); - m_jobCountContainer = addAspect<AspectContainer>(); - - m_userJobCountAspect = m_jobCountContainer->addAspect<IntegerAspect>(); + m_userJobCountAspect = addAspect<IntegerAspect>(); m_userJobCountAspect->setSettingsKey(id.withSuffix(JOBCOUNT_SUFFIX).toString()); m_userJobCountAspect->setLabel(tr("Parallel jobs:")); m_userJobCountAspect->setRange(1, 999); @@ -93,11 +91,11 @@ MakeStep::MakeStep(BuildStepList *parent, Id id) m_userJobCountAspect->setDefaultValue(defaultJobCount()); const QString text = tr("Override MAKEFLAGS"); - m_overrideMakeflagsAspect = m_jobCountContainer->addAspect<BoolAspect>(); + m_overrideMakeflagsAspect = addAspect<BoolAspect>(); m_overrideMakeflagsAspect->setSettingsKey(id.withSuffix(OVERRIDE_MAKEFLAGS_SUFFIX).toString()); m_overrideMakeflagsAspect->setLabel(text, BoolAspect::LabelPlacement::AtCheckBox); - m_nonOverrideWarning = m_jobCountContainer->addAspect<TextDisplay>(); + m_nonOverrideWarning = addAspect<TextDisplay>(); m_nonOverrideWarning->setToolTip("<html><body><p>" + tr("<code>MAKEFLAGS</code> specifies parallel jobs. Check \"%1\" to override.") .arg(text) + "</p></body></html>"); @@ -113,10 +111,10 @@ MakeStep::MakeStep(BuildStepList *parent, Id id) m_buildTargetsAspect->setLabelText(tr("Targets:")); const auto updateMakeLabel = [this] { - const QString defaultMake = defaultMakeCommand().toString(); + const FilePath defaultMake = defaultMakeCommand(); const QString labelText = defaultMake.isEmpty() ? tr("Make:") - : tr("Override %1:").arg(QDir::toNativeSeparators(defaultMake)); + : tr("Override %1:").arg(defaultMake.toUserOutput()); m_makeCommandAspect->setLabelText(labelText); }; @@ -185,11 +183,11 @@ static const QList<ToolChain *> preferredToolChains(const Kit *kit) FilePath MakeStep::defaultMakeCommand() const { - const Utils::Environment env = makeEnvironment(); + const Environment env = makeEnvironment(); for (const ToolChain *tc : preferredToolChains(kit())) { FilePath make = tc->makeCommand(env); if (!make.isEmpty()) - return make; + return mapFromBuildDeviceToGlobalPath(make); } return {}; } @@ -223,7 +221,7 @@ bool MakeStep::jobCountOverridesMakeflags() const static Utils::optional<int> argsJobCount(const QString &str) { - const QStringList args = Utils::QtcProcess::splitArgs(str, Utils::HostOsInfo::hostOs()); + const QStringList args = ProcessArgs::splitArgs(str, HostOsInfo::hostOs()); const int argIndex = Utils::indexOf(args, [](const QString &arg) { return arg.startsWith("-j"); }); if (argIndex == -1) return Utils::nullopt; @@ -275,7 +273,7 @@ bool MakeStep::userArgsContainsJobCount() const Environment MakeStep::makeEnvironment() const { Environment env = buildEnvironment(); - Utils::Environment::setupEnglishOutput(&env); + env.setupEnglishOutput(); if (makeCommand().isEmpty()) { // We also prepend "L" to the MAKEFLAGS, so that nmake / jom are less verbose const QList<ToolChain *> tcs = preferredToolChains(target()->kit()); @@ -348,16 +346,16 @@ CommandLine MakeStep::effectiveMakeCommand(MakeCommandType type) const QWidget *MakeStep::createConfigWidget() { - auto widget = new QWidget; - - LayoutBuilder builder(widget); + Layouting::Form builder; builder.addRow(m_makeCommandAspect); builder.addRow(m_userArgumentsAspect); - builder.addRow(m_jobCountContainer); + builder.addRow({m_userJobCountAspect, m_overrideMakeflagsAspect, m_nonOverrideWarning}); if (m_disablingForSubDirsSupported) builder.addRow(m_disabledForSubdirsAspect); builder.addRow(m_buildTargetsAspect); + auto widget = builder.emerge(false); + VariableChooser::addSupportForChildWidgets(widget, macroExpander()); setSummaryUpdater([this] { |