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());
ProjectExplorer::ProcessParameters param;
param.setMacroExpander(mesonBuildStep->macroExpander());
param.setEnvironment(mesonBuildStep->buildEnvironment());
param.setWorkingDirectory(mesonBuildStep->buildDirectory());
param.setCommandLine(mesonBuildStep->command());
mesonBuildStep->setupProcessParameters(&param);
setSummaryText(param.summary(displayName()));
}

View File

@@ -38,6 +38,8 @@
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/target.h>
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<MesonBuildConfiguration *>(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();