forked from qt-creator/qt-creator
CMake: Move BuildDirManager from the project into the buildconfiguration
Change-Id: I90126ff22dd394eba4145db142b3914d211af476 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
@@ -72,12 +72,12 @@ const char ADD_RUNCONFIGURATION_TEXT[] = "Current executable";
|
||||
|
||||
CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl) : AbstractProcessStep(bsl, Core::Id(MS_ID))
|
||||
{
|
||||
ctor();
|
||||
ctor(bsl);
|
||||
}
|
||||
|
||||
CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, Core::Id id) : AbstractProcessStep(bsl, id)
|
||||
{
|
||||
ctor();
|
||||
ctor(bsl);
|
||||
}
|
||||
|
||||
CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, CMakeBuildStep *bs) :
|
||||
@@ -86,10 +86,10 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, CMakeBuildStep *bs) :
|
||||
m_toolArguments(bs->m_toolArguments),
|
||||
m_addRunConfigurationArgument(bs->m_addRunConfigurationArgument)
|
||||
{
|
||||
ctor();
|
||||
ctor(bsl);
|
||||
}
|
||||
|
||||
void CMakeBuildStep::ctor()
|
||||
void CMakeBuildStep::ctor(BuildStepList *bsl)
|
||||
{
|
||||
m_percentProgress = QRegExp(QLatin1String("^\\[\\s*(\\d*)%\\]"));
|
||||
m_ninjaProgress = QRegExp(QLatin1String("^\\[\\s*(\\d*)/\\s*(\\d*)"));
|
||||
@@ -97,9 +97,15 @@ void CMakeBuildStep::ctor()
|
||||
//: Default display name for the cmake make step.
|
||||
setDefaultDisplayName(tr("Make"));
|
||||
|
||||
auto bc = qobject_cast<CMakeBuildConfiguration *>(bsl->parent());
|
||||
if (!bc) {
|
||||
auto t = qobject_cast<Target *>(bsl->parent()->parent());
|
||||
QTC_ASSERT(t, return);
|
||||
bc = qobject_cast<CMakeBuildConfiguration *>(t->activeBuildConfiguration());
|
||||
}
|
||||
|
||||
connect(target(), &Target::kitChanged, this, &CMakeBuildStep::cmakeCommandChanged);
|
||||
connect(static_cast<CMakeProject *>(project()), &CMakeProject::buildDirectoryDataAvailable,
|
||||
this, &CMakeBuildStep::buildTargetsChanged);
|
||||
connect(bc, &CMakeBuildConfiguration::dataAvailable, this, &CMakeBuildStep::handleBuildTargetChanges);
|
||||
}
|
||||
|
||||
CMakeBuildConfiguration *CMakeBuildStep::cmakeBuildConfiguration() const
|
||||
@@ -117,12 +123,13 @@ CMakeRunConfiguration *CMakeBuildStep::targetsActiveRunConfiguration() const
|
||||
return qobject_cast<CMakeRunConfiguration *>(target()->activeRunConfiguration());
|
||||
}
|
||||
|
||||
void CMakeBuildStep::buildTargetsChanged()
|
||||
void CMakeBuildStep::handleBuildTargetChanges()
|
||||
{
|
||||
const QStringList filteredTargets
|
||||
= Utils::filtered(static_cast<CMakeProject *>(project())->buildTargetTitles(),
|
||||
[this](const QString &s) { return m_buildTargets.contains(s); });
|
||||
setBuildTargets(filteredTargets);
|
||||
emit buildTargetsChanged();
|
||||
}
|
||||
|
||||
QVariantMap CMakeBuildStep::toMap() const
|
||||
@@ -401,7 +408,7 @@ CMakeBuildStepConfigWidget::CMakeBuildStepConfigWidget(CMakeBuildStep *buildStep
|
||||
connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::settingsChanged,
|
||||
this, &CMakeBuildStepConfigWidget::updateDetails);
|
||||
|
||||
connect(pro, &CMakeProject::buildDirectoryDataAvailable, this, &CMakeBuildStepConfigWidget::buildTargetsChanged);
|
||||
connect(m_buildStep, &CMakeBuildStep::buildTargetsChanged, this, &CMakeBuildStepConfigWidget::buildTargetsChanged);
|
||||
connect(m_buildStep, &CMakeBuildStep::targetsToBuildChanged, this, &CMakeBuildStepConfigWidget::selectedBuildTargetsChanged);
|
||||
connect(pro, &CMakeProject::environmentChanged, this, &CMakeBuildStepConfigWidget::updateDetails);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user