diff --git a/src/plugins/mesonprojectmanager/project/buildoptions/mesonbuildstepconfigwidget.cpp b/src/plugins/mesonprojectmanager/project/buildoptions/mesonbuildstepconfigwidget.cpp index 2417a9e3b33..4c296b29d05 100644 --- a/src/plugins/mesonprojectmanager/project/buildoptions/mesonbuildstepconfigwidget.cpp +++ b/src/plugins/mesonprojectmanager/project/buildoptions/mesonbuildstepconfigwidget.cpp @@ -73,10 +73,7 @@ void MesonBuildStepConfigWidget::updateDetails() { auto mesonBuildStep = static_cast(step()); ProjectExplorer::ProcessParameters param; - param.setMacroExpander(mesonBuildStep->macroExpander()); - param.setEnvironment(mesonBuildStep->buildEnvironment()); - param.setWorkingDirectory(mesonBuildStep->buildDirectory()); - param.setCommandLine(mesonBuildStep->command()); + mesonBuildStep->setupProcessParameters(¶m); setSummaryText(param.summary(displayName())); } diff --git a/src/plugins/mesonprojectmanager/project/ninjabuildstep.cpp b/src/plugins/mesonprojectmanager/project/ninjabuildstep.cpp index f39a7aaef1c..c481af19344 100644 --- a/src/plugins/mesonprojectmanager/project/ninjabuildstep.cpp +++ b/src/plugins/mesonprojectmanager/project/ninjabuildstep.cpp @@ -38,6 +38,8 @@ #include #include +using namespace Utils; + namespace MesonProjectManager { namespace Internal { const char TARGETS_KEY[] = "MesonProjectManager.BuildStep.BuildTargets"; @@ -50,6 +52,10 @@ NinjaBuildStep::NinjaBuildStep(ProjectExplorer::BuildStepList *bsl, Utils::Id id if (m_targetName.isEmpty()) setBuildTarget(defaultBuildTarget()); setLowPriority(); + + setCommandLineProvider([this] { return command(); }); + setUseEnglishOutput(); + connect(target(), &ProjectExplorer::Target::parsingFinished, this, &NinjaBuildStep::update); connect(Settings::instance(), &Settings::verboseNinjaChanged, @@ -99,14 +105,8 @@ void NinjaBuildStep::update(bool parsingSuccessful) bool NinjaBuildStep::init() { // TODO check if the setup is ok - MesonBuildConfiguration *bc = static_cast(buildConfiguration()); ProjectExplorer::ProcessParameters *pp = processParameters(); - pp->setMacroExpander(bc->macroExpander()); - Utils::Environment env = bc->environment(); - Utils::Environment::setupEnglishOutput(&env); - pp->setEnvironment(env); - pp->setWorkingDirectory(bc->buildDirectory()); - pp->setCommandLine(command()); + setupProcessParameters(pp); pp->resolveAll(); return AbstractProcessStep::init();