Meson: Use new AbstractProcessStep convenience functions

Change-Id: I6583a4b83f638d30cab72f395a1300aead1e38e7
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2020-08-13 17:35:05 +02:00
parent f0d0591015
commit 89e7e5ff7f
2 changed files with 8 additions and 11 deletions

View File

@@ -73,10 +73,7 @@ void MesonBuildStepConfigWidget::updateDetails()
{ {
auto mesonBuildStep = static_cast<NinjaBuildStep *>(step()); auto mesonBuildStep = static_cast<NinjaBuildStep *>(step());
ProjectExplorer::ProcessParameters param; ProjectExplorer::ProcessParameters param;
param.setMacroExpander(mesonBuildStep->macroExpander()); mesonBuildStep->setupProcessParameters(&param);
param.setEnvironment(mesonBuildStep->buildEnvironment());
param.setWorkingDirectory(mesonBuildStep->buildDirectory());
param.setCommandLine(mesonBuildStep->command());
setSummaryText(param.summary(displayName())); setSummaryText(param.summary(displayName()));
} }

View File

@@ -38,6 +38,8 @@
#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
using namespace Utils;
namespace MesonProjectManager { namespace MesonProjectManager {
namespace Internal { namespace Internal {
const char TARGETS_KEY[] = "MesonProjectManager.BuildStep.BuildTargets"; const char TARGETS_KEY[] = "MesonProjectManager.BuildStep.BuildTargets";
@@ -50,6 +52,10 @@ NinjaBuildStep::NinjaBuildStep(ProjectExplorer::BuildStepList *bsl, Utils::Id id
if (m_targetName.isEmpty()) if (m_targetName.isEmpty())
setBuildTarget(defaultBuildTarget()); setBuildTarget(defaultBuildTarget());
setLowPriority(); setLowPriority();
setCommandLineProvider([this] { return command(); });
setUseEnglishOutput();
connect(target(), &ProjectExplorer::Target::parsingFinished, this, &NinjaBuildStep::update); connect(target(), &ProjectExplorer::Target::parsingFinished, this, &NinjaBuildStep::update);
connect(Settings::instance(), connect(Settings::instance(),
&Settings::verboseNinjaChanged, &Settings::verboseNinjaChanged,
@@ -99,14 +105,8 @@ void NinjaBuildStep::update(bool parsingSuccessful)
bool NinjaBuildStep::init() bool NinjaBuildStep::init()
{ {
// TODO check if the setup is ok // TODO check if the setup is ok
MesonBuildConfiguration *bc = static_cast<MesonBuildConfiguration *>(buildConfiguration());
ProjectExplorer::ProcessParameters *pp = processParameters(); ProjectExplorer::ProcessParameters *pp = processParameters();
pp->setMacroExpander(bc->macroExpander()); setupProcessParameters(pp);
Utils::Environment env = bc->environment();
Utils::Environment::setupEnglishOutput(&env);
pp->setEnvironment(env);
pp->setWorkingDirectory(bc->buildDirectory());
pp->setCommandLine(command());
pp->resolveAll(); pp->resolveAll();
return AbstractProcessStep::init(); return AbstractProcessStep::init();