aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/projectexplorer')
-rw-r--r--src/plugins/projectexplorer/buildstep.cpp12
-rw-r--r--src/plugins/projectexplorer/makestep.cpp4
-rw-r--r--src/plugins/projectexplorer/processstep.cpp8
3 files changed, 11 insertions, 13 deletions
diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp
index 232a95483a..864fdbf6b3 100644
--- a/src/plugins/projectexplorer/buildstep.cpp
+++ b/src/plugins/projectexplorer/buildstep.cpp
@@ -140,12 +140,20 @@ QVariantMap BuildStep::toMap() const
BuildConfiguration *BuildStep::buildConfiguration() const
{
- return qobject_cast<BuildConfiguration *>(parent()->parent());
+ auto config = qobject_cast<BuildConfiguration *>(parent()->parent());
+ if (config)
+ return config;
+ // step is not part of a build configuration, use active build configuration of step's target
+ return target()->activeBuildConfiguration();
}
DeployConfiguration *BuildStep::deployConfiguration() const
{
- return qobject_cast<DeployConfiguration *>(parent()->parent());
+ auto config = qobject_cast<DeployConfiguration *>(parent()->parent());
+ if (config)
+ return config;
+ // step is not part of a deploy configuration, use active deploy configuration of step's target
+ return target()->activeDeployConfiguration();
}
ProjectConfiguration *BuildStep::projectConfiguration() const
diff --git a/src/plugins/projectexplorer/makestep.cpp b/src/plugins/projectexplorer/makestep.cpp
index c970b03b33..70853ac8f2 100644
--- a/src/plugins/projectexplorer/makestep.cpp
+++ b/src/plugins/projectexplorer/makestep.cpp
@@ -121,8 +121,6 @@ QString MakeStep::effectiveMakeCommand() const
if (!m_makeCommand.isEmpty())
return m_makeCommand;
BuildConfiguration *bc = buildConfiguration();
- if (!bc)
- bc = target()->activeBuildConfiguration();
ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit(), ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (bc && tc)
return tc->makeCommand(bc->environment());
@@ -245,8 +243,6 @@ void MakeStepConfigWidget::updateDetails()
ToolChain *tc
= ToolChainKitInformation::toolChain(m_makeStep->target()->kit(), ProjectExplorer::Constants::CXX_LANGUAGE_ID);
BuildConfiguration *bc = m_makeStep->buildConfiguration();
- if (!bc)
- bc = m_makeStep->target()->activeBuildConfiguration();
const QString make = tc && bc ? tc->makeCommand(bc->environment()) : QString();
if (make.isEmpty())
diff --git a/src/plugins/projectexplorer/processstep.cpp b/src/plugins/projectexplorer/processstep.cpp
index 82805fa3ee..81e463eb10 100644
--- a/src/plugins/projectexplorer/processstep.cpp
+++ b/src/plugins/projectexplorer/processstep.cpp
@@ -58,8 +58,6 @@ ProcessStep::ProcessStep(BuildStepList *bsl)
bool ProcessStep::init(QList<const BuildStep *> &earlierSteps)
{
BuildConfiguration *bc = buildConfiguration();
- if (!bc)
- bc = target()->activeBuildConfiguration();
ProcessParameters *pp = processParameters();
pp->setMacroExpander(bc ? bc->macroExpander() : Utils::globalMacroExpander());
pp->setEnvironment(bc ? bc->environment() : Utils::Environment::systemEnvironment());
@@ -115,7 +113,7 @@ void ProcessStep::setArguments(const QString &arguments)
void ProcessStep::setWorkingDirectory(const QString &workingDirectory)
{
if (workingDirectory.isEmpty())
- if (target()->activeBuildConfiguration())
+ if (buildConfiguration())
m_workingDirectory = Constants::DEFAULT_WORKING_DIR;
else
m_workingDirectory = Constants::DEFAULT_WORKING_DIR_ALTERNATE;
@@ -163,8 +161,6 @@ ProcessStepConfigWidget::ProcessStepConfigWidget(ProcessStep *step) :
m_ui.workingDirectory->setExpectedKind(Utils::PathChooser::Directory);
BuildConfiguration *bc = m_step->buildConfiguration();
- if (!bc)
- bc = m_step->target()->activeBuildConfiguration();
Utils::Environment env = bc ? bc->environment() : Utils::Environment::systemEnvironment();
m_ui.command->setEnvironment(env);
m_ui.command->setPath(m_step->command());
@@ -193,8 +189,6 @@ void ProcessStepConfigWidget::updateDetails()
displayName = tr("Custom Process Step");
ProcessParameters param;
BuildConfiguration *bc = m_step->buildConfiguration();
- if (!bc) // iff the step is actually in the deploy list
- bc = m_step->target()->activeBuildConfiguration();
param.setMacroExpander(bc ? bc->macroExpander() : Utils::globalMacroExpander());
param.setEnvironment(bc ? bc->environment() : Utils::Environment::systemEnvironment());