diff options
Diffstat (limited to 'src/plugins/projectexplorer')
-rw-r--r-- | src/plugins/projectexplorer/buildstep.cpp | 12 | ||||
-rw-r--r-- | src/plugins/projectexplorer/makestep.cpp | 4 | ||||
-rw-r--r-- | src/plugins/projectexplorer/processstep.cpp | 8 |
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()); |