forked from qt-creator/qt-creator
Centralize retrieving the "parent" build configuration
If a step is part of a build configuration, that is used, but many steps can be used as part of a deploy configuration. In that case the active build configuration of the step's target must be used, and that logic was duplicated many times. Instead, let BuildStep::buildConfiguration take care of that logic. For steps that are not offered for deploy configurations there is no semantic difference, and for the others this removes code duplication. Change-Id: I02f3bb50226590092cedcec02fce6fde9c7c6e63 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -72,8 +72,6 @@ IosBuildStep::IosBuildStep(BuildStepList *parent) :
|
||||
bool IosBuildStep::init(QList<const BuildStep *> &earlierSteps)
|
||||
{
|
||||
BuildConfiguration *bc = buildConfiguration();
|
||||
if (!bc)
|
||||
bc = target()->activeBuildConfiguration();
|
||||
if (!bc)
|
||||
emit addTask(Task::buildConfigurationMissingTask());
|
||||
|
||||
@@ -140,7 +138,7 @@ QStringList IosBuildStep::defaultArguments() const
|
||||
QStringList res;
|
||||
Kit *kit = target()->kit();
|
||||
ToolChain *tc = ToolChainKitInformation::toolChain(kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
|
||||
switch (target()->activeBuildConfiguration()->buildType()) {
|
||||
switch (buildConfiguration()->buildType()) {
|
||||
case BuildConfiguration::Debug :
|
||||
res << "-configuration" << "Debug";
|
||||
break;
|
||||
@@ -152,7 +150,7 @@ QStringList IosBuildStep::defaultArguments() const
|
||||
break;
|
||||
default:
|
||||
qCWarning(iosLog) << "IosBuildStep had an unknown buildType "
|
||||
<< target()->activeBuildConfiguration()->buildType();
|
||||
<< buildConfiguration()->buildType();
|
||||
}
|
||||
if (tc->typeId() == ProjectExplorer::Constants::GCC_TOOLCHAIN_TYPEID
|
||||
|| tc->typeId() == ProjectExplorer::Constants::CLANG_TOOLCHAIN_TYPEID) {
|
||||
@@ -161,7 +159,7 @@ QStringList IosBuildStep::defaultArguments() const
|
||||
}
|
||||
if (!SysRootKitInformation::sysRoot(kit).isEmpty())
|
||||
res << "-sdk" << SysRootKitInformation::sysRoot(kit).toString();
|
||||
res << "SYMROOT=" + target()->activeBuildConfiguration()->buildDirectory().toString();
|
||||
res << "SYMROOT=" + buildConfiguration()->buildDirectory().toString();
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -257,8 +255,6 @@ QString IosBuildStepConfigWidget::displayName() const
|
||||
void IosBuildStepConfigWidget::updateDetails()
|
||||
{
|
||||
BuildConfiguration *bc = m_buildStep->buildConfiguration();
|
||||
if (!bc)
|
||||
bc = m_buildStep->target()->activeBuildConfiguration();
|
||||
|
||||
ProcessParameters param;
|
||||
param.setMacroExpander(bc->macroExpander());
|
||||
|
||||
Reference in New Issue
Block a user