aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cmakeprojectmanager/makestep.cpp
diff options
context:
space:
mode:
authordt <[email protected]>2009-12-03 19:45:09 +0100
committerdt <[email protected]>2009-12-07 15:00:17 +0100
commit24a4590767cba0da6d372093a7cd777dd021bc88 (patch)
treec90e9ee1cf28485af2457b77bf1afb783e735639 /src/plugins/cmakeprojectmanager/makestep.cpp
parent1e46cb424e05a8be9909b13b2031625b691839ec (diff)
Cmake: Let the generator determine the toolchain
Otherwise we need to parse the cbp file, which happens only if the buildconfiguration gets active. Also try to decouple a few internals a little bit by using signals. The CMakeProject still handles a few things directly instead of via signals, more to come eventually.
Diffstat (limited to 'src/plugins/cmakeprojectmanager/makestep.cpp')
-rw-r--r--src/plugins/cmakeprojectmanager/makestep.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp
index 11ae56e0a91..332f2fcc625 100644
--- a/src/plugins/cmakeprojectmanager/makestep.cpp
+++ b/src/plugins/cmakeprojectmanager/makestep.cpp
@@ -217,6 +217,7 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep)
connect(m_targetsList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*)));
connect(ProjectExplorer::ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()),
this, SLOT(updateDetails()));
+
}
void MakeStepConfigWidget::additionalArgumentsEdited()
@@ -250,6 +251,24 @@ void MakeStepConfigWidget::init()
m_additionalArguments->setText(Environment::joinArgumentList(m_makeStep->additionalArguments()));
updateDetails();
+
+ CMakeProject *pro = m_makeStep->cmakeBuildConfiguration()->cmakeProject();
+ connect(pro, SIGNAL(targetsChanged()),
+ this, SLOT(targetsChanged()));
+}
+
+void MakeStepConfigWidget::targetsChanged()
+{
+ disconnect(m_targetsList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*)));
+ m_targetsList->clear();
+ CMakeProject *pro = m_makeStep->cmakeBuildConfiguration()->cmakeProject();
+ foreach(const QString& target, pro->targets()) {
+ QListWidgetItem *item = new QListWidgetItem(target, m_targetsList);
+ item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
+ item->setCheckState(m_makeStep->buildsTarget(item->text()) ? Qt::Checked : Qt::Unchecked);
+ }
+ connect(m_targetsList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*)));
+ updateSummary();
}
void MakeStepConfigWidget::updateDetails()