diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index 455c6e87095ca562cfa470fe656728544a7c267f..3c9143b2732f7756e5e214dbc7a8034500402c56 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -524,12 +524,11 @@ QList<ProjectExplorer::BuildConfigWidget*> CMakeProject::subConfigWidgets() return list; } -// This method is called for new build configurations -// You should probably set some default values in this method void CMakeProject::newBuildConfiguration(const QString &buildConfiguration) { // Default to all - makeStep()->setBuildTarget(buildConfiguration, "all", true); + if (targets().contains("all")) + makeStep()->setBuildTarget(buildConfiguration, "all", true); CMakeOpenProjectWizard copw(projectManager(), sourceDirectory(), buildDirectory(buildConfiguration), environment(buildConfiguration)); if (copw.exec() == QDialog::Accepted) { @@ -571,24 +570,23 @@ bool CMakeProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsReader { Project::restoreSettingsImpl(reader); bool hasUserFile = !buildConfigurations().isEmpty(); + MakeStep *makeStep = 0; if (!hasUserFile) { // Ask the user for where he wants to build it // and the cmake command line CMakeOpenProjectWizard copw(m_manager, sourceDirectory(), ProjectExplorer::Environment::systemEnvironment()); copw.exec(); - // TODO handle cancel.... qDebug()<<"ccd.buildDirectory()"<<copw.buildDirectory(); // Now create a standard build configuration - MakeStep *makeStep = new MakeStep(this); + makeStep = new MakeStep(this); insertBuildStep(0, makeStep); addBuildConfiguration("all"); setValue("all", "msvcVersion", copw.msvcVersion()); - makeStep->setBuildTarget("all", "all", true); if (!copw.buildDirectory().isEmpty()) setValue("all", "buildDirectory", copw.buildDirectory()); //TODO save arguments somewhere copw.arguments() @@ -597,8 +595,6 @@ bool CMakeProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsReader insertCleanStep(0, cleanMakeStep); cleanMakeStep->setValue("clean", true); setActiveBuildConfiguration("all"); - - } else { // We have a user file, but we could still be missing the cbp file // or simply run createXml with the saved settings @@ -628,6 +624,9 @@ bool CMakeProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsReader if (!result) return false; + if (!hasUserFile && targets().contains("all")) + makeStep->setBuildTarget("all", "all", true); + m_watcher = new ProjectExplorer::FileWatcher(this); connect(m_watcher, SIGNAL(fileChanged(QString)), this, SLOT(fileChanged(QString))); m_watcher->addFile(m_fileName);