forked from qt-creator/qt-creator
Remove BuildConfiguration::name()
The pointers can be used to distinguish BuildConfigurations
This commit is contained in:
@@ -33,14 +33,14 @@
|
||||
using namespace CMakeProjectManager;
|
||||
using namespace Internal;
|
||||
|
||||
CMakeBuildConfiguration::CMakeBuildConfiguration(CMakeProject *pro, const QString &name)
|
||||
: BuildConfiguration(pro, name)
|
||||
CMakeBuildConfiguration::CMakeBuildConfiguration(CMakeProject *pro)
|
||||
: BuildConfiguration(pro)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CMakeBuildConfiguration::CMakeBuildConfiguration(const QString &name, BuildConfiguration *source)
|
||||
: BuildConfiguration(name, source)
|
||||
CMakeBuildConfiguration::CMakeBuildConfiguration(BuildConfiguration *source)
|
||||
: BuildConfiguration(source)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -40,8 +40,8 @@ class CMakeProject;
|
||||
class CMakeBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
||||
{
|
||||
public:
|
||||
CMakeBuildConfiguration(CMakeProject *pro, const QString &name);
|
||||
CMakeBuildConfiguration(const QString &name, BuildConfiguration *source);
|
||||
CMakeBuildConfiguration(CMakeProject *pro);
|
||||
CMakeBuildConfiguration(BuildConfiguration *source);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ using namespace CMakeProjectManager;
|
||||
using namespace CMakeProjectManager::Internal;
|
||||
|
||||
CMakeBuildEnvironmentWidget::CMakeBuildEnvironmentWidget(CMakeProject *project)
|
||||
: BuildConfigWidget(), m_pro(project)
|
||||
: BuildConfigWidget(), m_pro(project), m_buildConfiguration(0)
|
||||
{
|
||||
QVBoxLayout *vbox = new QVBoxLayout(this);
|
||||
vbox->setMargin(0);
|
||||
@@ -63,29 +63,26 @@ QString CMakeBuildEnvironmentWidget::displayName() const
|
||||
return tr("Build Environment");
|
||||
}
|
||||
|
||||
void CMakeBuildEnvironmentWidget::init(const QString &buildConfigurationName)
|
||||
void CMakeBuildEnvironmentWidget::init(ProjectExplorer::BuildConfiguration *bc)
|
||||
{
|
||||
if (debug)
|
||||
qDebug() << "Qt4BuildConfigWidget::init()";
|
||||
|
||||
m_buildConfiguration = buildConfigurationName;
|
||||
m_buildConfiguration = bc;
|
||||
|
||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(buildConfigurationName);
|
||||
m_clearSystemEnvironmentCheckBox->setChecked(!m_pro->useSystemEnvironment(bc));
|
||||
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(bc));
|
||||
m_buildEnvironmentWidget->setUserChanges(m_pro->userEnvironmentChanges(bc));
|
||||
m_clearSystemEnvironmentCheckBox->setChecked(!m_pro->useSystemEnvironment(m_buildConfiguration));
|
||||
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(m_buildConfiguration));
|
||||
m_buildEnvironmentWidget->setUserChanges(m_pro->userEnvironmentChanges(m_buildConfiguration));
|
||||
m_buildEnvironmentWidget->updateButtons();
|
||||
}
|
||||
|
||||
void CMakeBuildEnvironmentWidget::environmentModelUserChangesUpdated()
|
||||
{
|
||||
m_pro->setUserEnvironmentChanges(
|
||||
m_pro->buildConfiguration(m_buildConfiguration), m_buildEnvironmentWidget->userChanges());
|
||||
m_pro->setUserEnvironmentChanges(m_buildConfiguration, m_buildEnvironmentWidget->userChanges());
|
||||
}
|
||||
|
||||
void CMakeBuildEnvironmentWidget::clearSystemEnvironmentCheckBoxClicked(bool checked)
|
||||
{
|
||||
ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(m_buildConfiguration);
|
||||
m_pro->setUseSystemEnvironment(bc, !checked);
|
||||
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(bc));
|
||||
m_pro->setUseSystemEnvironment(m_buildConfiguration, !checked);
|
||||
m_buildEnvironmentWidget->setBaseEnvironment(m_pro->baseEnvironment(m_buildConfiguration));
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
CMakeBuildEnvironmentWidget(CMakeProject *project);
|
||||
|
||||
QString displayName() const;
|
||||
void init(const QString &buildConfiguration);
|
||||
void init(ProjectExplorer::BuildConfiguration *bc);
|
||||
|
||||
private slots:
|
||||
void environmentModelUserChangesUpdated();
|
||||
@@ -61,7 +61,7 @@ private:
|
||||
ProjectExplorer::EnvironmentWidget *m_buildEnvironmentWidget;
|
||||
QCheckBox *m_clearSystemEnvironmentCheckBox;
|
||||
CMakeProject *m_pro;
|
||||
QString m_buildConfiguration;
|
||||
ProjectExplorer::BuildConfiguration *m_buildConfiguration;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
@@ -104,7 +104,8 @@ BuildConfiguration *CMakeBuildConfigurationFactory::create(const QString &type)
|
||||
&ok);
|
||||
if (!ok || buildConfigurationName.isEmpty())
|
||||
return false;
|
||||
BuildConfiguration *bc = new CMakeBuildConfiguration(m_project, buildConfigurationName);
|
||||
BuildConfiguration *bc = new CMakeBuildConfiguration(m_project);
|
||||
bc->setDisplayName(buildConfigurationName);
|
||||
|
||||
MakeStep *makeStep = new MakeStep(bc);
|
||||
bc->insertBuildStep(0, makeStep);
|
||||
@@ -133,17 +134,17 @@ BuildConfiguration *CMakeBuildConfigurationFactory::create(const QString &type)
|
||||
return bc;
|
||||
}
|
||||
|
||||
BuildConfiguration *CMakeBuildConfigurationFactory::clone(const QString &name, ProjectExplorer::BuildConfiguration *source) const
|
||||
BuildConfiguration *CMakeBuildConfigurationFactory::clone(ProjectExplorer::BuildConfiguration *source) const
|
||||
{
|
||||
CMakeBuildConfiguration *old = static_cast<CMakeBuildConfiguration *>(source);
|
||||
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(name, old);
|
||||
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(old);
|
||||
m_project->addBuildConfiguration(bc);
|
||||
return bc;
|
||||
}
|
||||
|
||||
BuildConfiguration *CMakeBuildConfigurationFactory::restore(const QString &name) const
|
||||
BuildConfiguration *CMakeBuildConfigurationFactory::restore() const
|
||||
{
|
||||
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(m_project, name);
|
||||
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(m_project);
|
||||
return bc;
|
||||
}
|
||||
|
||||
@@ -590,7 +591,7 @@ void CMakeProject::setUseSystemEnvironment(BuildConfiguration *configuration, bo
|
||||
if (b == useSystemEnvironment(configuration))
|
||||
return;
|
||||
configuration->setValue("clearSystemEnvironment", !b);
|
||||
emit environmentChanged(configuration->name());
|
||||
emit environmentChanged(configuration);
|
||||
}
|
||||
|
||||
bool CMakeProject::useSystemEnvironment(BuildConfiguration *configuration) const
|
||||
@@ -611,7 +612,7 @@ void CMakeProject::setUserEnvironmentChanges(BuildConfiguration *configuration,
|
||||
if (list == configuration->value("userEnvironmentChanges"))
|
||||
return;
|
||||
configuration->setValue("userEnvironmentChanges", list);
|
||||
emit environmentChanged(configuration->name());
|
||||
emit environmentChanged(configuration);
|
||||
}
|
||||
|
||||
QString CMakeProject::buildDirectory(BuildConfiguration *configuration) const
|
||||
@@ -664,7 +665,8 @@ bool CMakeProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsReader
|
||||
if (copw.exec() != QDialog::Accepted)
|
||||
return false;
|
||||
|
||||
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(this, "all");
|
||||
CMakeBuildConfiguration *bc = new CMakeBuildConfiguration(this);
|
||||
bc->setDisplayName("all");
|
||||
addBuildConfiguration(bc);
|
||||
bc->setValue("msvcVersion", copw.msvcVersion());
|
||||
if (!copw.buildDirectory().isEmpty())
|
||||
@@ -792,7 +794,7 @@ void CMakeFile::modified(ReloadBehavior *behavior)
|
||||
}
|
||||
|
||||
CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeProject *project)
|
||||
: m_project(project)
|
||||
: m_project(project), m_buildConfiguration(0)
|
||||
{
|
||||
QFormLayout *fl = new QFormLayout(this);
|
||||
fl->setContentsMargins(20, -1, 0, -1);
|
||||
@@ -821,10 +823,9 @@ QString CMakeBuildSettingsWidget::displayName() const
|
||||
return "CMake";
|
||||
}
|
||||
|
||||
void CMakeBuildSettingsWidget::init(const QString &buildConfigurationName)
|
||||
void CMakeBuildSettingsWidget::init(BuildConfiguration *bc)
|
||||
{
|
||||
m_buildConfiguration = buildConfigurationName;
|
||||
BuildConfiguration *bc = m_project->buildConfiguration(buildConfigurationName);
|
||||
m_buildConfiguration = bc;
|
||||
m_pathLineEdit->setText(m_project->buildDirectory(bc));
|
||||
if (m_project->buildDirectory(bc) == m_project->sourceDirectory())
|
||||
m_changeButton->setEnabled(false);
|
||||
@@ -834,14 +835,13 @@ void CMakeBuildSettingsWidget::init(const QString &buildConfigurationName)
|
||||
|
||||
void CMakeBuildSettingsWidget::openChangeBuildDirectoryDialog()
|
||||
{
|
||||
BuildConfiguration *bc = m_project->buildConfiguration(m_buildConfiguration);
|
||||
CMakeOpenProjectWizard copw(m_project->projectManager(),
|
||||
m_project->sourceDirectory(),
|
||||
m_project->buildDirectory(bc),
|
||||
m_project->environment(bc));
|
||||
m_project->buildDirectory(m_buildConfiguration),
|
||||
m_project->environment(m_buildConfiguration));
|
||||
if (copw.exec() == QDialog::Accepted) {
|
||||
m_project->changeBuildDirectory(bc, copw.buildDirectory());
|
||||
m_pathLineEdit->setText(m_project->buildDirectory(bc));
|
||||
m_project->changeBuildDirectory(m_buildConfiguration, copw.buildDirectory());
|
||||
m_pathLineEdit->setText(m_project->buildDirectory(m_buildConfiguration));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -74,8 +74,8 @@ public:
|
||||
QString displayNameForType(const QString &type) const;
|
||||
|
||||
ProjectExplorer::BuildConfiguration *create(const QString &type) const;
|
||||
ProjectExplorer::BuildConfiguration *clone(const QString &name, ProjectExplorer::BuildConfiguration *source) const;
|
||||
ProjectExplorer::BuildConfiguration *restore(const QString &name) const;
|
||||
ProjectExplorer::BuildConfiguration *clone(ProjectExplorer::BuildConfiguration *source) const;
|
||||
ProjectExplorer::BuildConfiguration *restore() const;
|
||||
|
||||
private:
|
||||
CMakeProject *m_project;
|
||||
@@ -232,14 +232,14 @@ public:
|
||||
|
||||
// This is called to set up the config widget before showing it
|
||||
// buildConfiguration is QString::null for the non buildConfiguration specific page
|
||||
virtual void init(const QString &buildConfiguration);
|
||||
virtual void init(ProjectExplorer::BuildConfiguration *bc);
|
||||
private slots:
|
||||
void openChangeBuildDirectoryDialog();
|
||||
private:
|
||||
CMakeProject *m_project;
|
||||
QLineEdit *m_pathLineEdit;
|
||||
QPushButton *m_changeButton;
|
||||
QString m_buildConfiguration;
|
||||
ProjectExplorer::BuildConfiguration *m_buildConfiguration;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
@@ -58,7 +58,7 @@ CMakeRunConfiguration::CMakeRunConfiguration(CMakeProject *pro, const QString &t
|
||||
connect(pro, SIGNAL(activeBuildConfigurationChanged()),
|
||||
this, SIGNAL(baseEnvironmentChanged()));
|
||||
|
||||
connect(pro, SIGNAL(environmentChanged(QString)),
|
||||
connect(pro, SIGNAL(environmentChanged(ProjectExplorer::BuildConfiguration *)),
|
||||
this, SIGNAL(baseEnvironmentChanged()));
|
||||
}
|
||||
|
||||
|
||||
@@ -202,7 +202,8 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep)
|
||||
fl->addRow(tr("Targets:"), m_targetsList);
|
||||
|
||||
// TODO update this list also on rescans of the CMakeLists.txt
|
||||
CMakeProject *pro = m_makeStep->project();
|
||||
// TODO shouldn't be accessing project
|
||||
CMakeProject *pro = static_cast<CMakeProject *>(m_makeStep->buildConfiguration()->project());
|
||||
foreach(const QString& target, pro->targets()) {
|
||||
QListWidgetItem *item = new QListWidgetItem(target, m_targetsList);
|
||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
||||
@@ -251,11 +252,10 @@ void MakeStepConfigWidget::updateDetails()
|
||||
{
|
||||
QStringList arguments = m_makeStep->m_buildTargets;
|
||||
arguments << m_makeStep->additionalArguments();
|
||||
m_summaryText = tr("<b>Make:</b> %1 %2")
|
||||
.arg(m_makeStep->project()->toolChain(
|
||||
m_makeStep->buildConfiguration())
|
||||
->makeCommand(),
|
||||
arguments.join(" "));
|
||||
|
||||
BuildConfiguration *bc = m_makeStep->buildConfiguration();
|
||||
CMakeProject *pro = static_cast<CMakeProject *>(bc->project());
|
||||
m_summaryText = tr("<b>Make:</b> %1 %2").arg(pro->toolChain(bc)->makeCommand(), arguments.join(" "));
|
||||
emit updateSummary();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user