diff options
author | dt <[email protected]> | 2009-12-03 19:45:09 +0100 |
---|---|---|
committer | dt <[email protected]> | 2009-12-07 15:00:17 +0100 |
commit | 24a4590767cba0da6d372093a7cd777dd021bc88 (patch) | |
tree | c90e9ee1cf28485af2457b77bf1afb783e735639 /src/plugins/cmakeprojectmanager/makestep.cpp | |
parent | 1e46cb424e05a8be9909b13b2031625b691839ec (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.cpp | 19 |
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() |