Commit 969032f06fa4025b119dfe64e6fe780c747ef610

  • avatar
  • con <qtc-committer @no…a.com>
  • Fri Oct 09 19:17:36 CEST 2009
Add both "debug" and "release" build configurations, not only "release".

Reviewed-by: dt
(cherry picked from commit d500ceacf20bfd60bd3e37bf578741659d9dfc29)
  
112112
113113}
114114
115void ProjectLoadWizard::addBuildConfiguration(QString buildConfigurationName, QtVersion *qtversion, QtVersion::QmakeBuildConfig qmakeBuildConfiguration, QStringList additionalArguments)
116{
117 QMakeStep *qmakeStep = m_project->qmakeStep();
118 MakeStep *makeStep = m_project->makeStep();
119
120 bool debug = qmakeBuildConfiguration & QtVersion::DebugBuild;
121
122 // Add the buildconfiguration
123 ProjectExplorer::BuildConfiguration *bc = new ProjectExplorer::BuildConfiguration(buildConfigurationName);
124 m_project->addBuildConfiguration(bc);
125 const QString &finalBuildConfigurationName = bc->name();
126 qmakeStep->setValue(finalBuildConfigurationName, "qmakeArgs", additionalArguments);
127
128 // set some options for qmake and make
129 if (qmakeBuildConfiguration & QtVersion::BuildAll) // debug_and_release => explicit targets
130 makeStep->setValue(finalBuildConfigurationName, "makeargs", QStringList() << (debug ? "debug" : "release"));
131
132 bc->setValue("buildConfiguration", int(qmakeBuildConfiguration));
133
134 // Finally set the qt version
135 bool defaultQtVersion = (qtversion == 0);
136 if (defaultQtVersion)
137 m_project->setQtVersion(bc, 0);
138 else
139 m_project->setQtVersion(bc, qtversion->uniqueId());
140}
141
142115void ProjectLoadWizard::done(int result)
143116{
144117 QtVersionManager *vm = QtVersionManager::instance();
128128 // qDebug()<<"Creating m_buildconfiguration entry from imported stuff";
129129 // qDebug()<<((m_importBuildConfig& QtVersion::BuildAll)? "debug_and_release" : "")<<((m_importBuildConfig & QtVersion::DebugBuild)? "debug" : "release");
130130 bool debug = m_importBuildConfig & QtVersion::DebugBuild;
131 addBuildConfiguration(debug ? "Debug" : "Release", m_importVersion, m_importBuildConfig, m_additionalArguments);
131 m_project->addQt4BuildConfiguration(debug ? "Debug" : "Release", m_importVersion, m_importBuildConfig, m_additionalArguments);
132132
133133 if (m_importBuildConfig & QtVersion::BuildAll) {
134134 // Also create the other configuration
138138 else
139139 otherBuildConfiguration = QtVersion::QmakeBuildConfig(otherBuildConfiguration | QtVersion::DebugBuild);
140140
141 addBuildConfiguration(debug ? "Release" : "Debug", m_importVersion, otherBuildConfiguration, m_additionalArguments);
141 m_project->addQt4BuildConfiguration(debug ? "Release" : "Debug", m_importVersion, otherBuildConfiguration, m_additionalArguments);
142142 }
143143 } else {
144144 // Not importing
150150 if (defaultVersion && defaultVersion->isValid() && (defaultVersion->defaultBuildConfig() & QtVersion::BuildAll))
151151 buildAll = true;
152152 if (buildAll) {
153 addBuildConfiguration("Debug", 0, QtVersion::QmakeBuildConfig(QtVersion::BuildAll | QtVersion::DebugBuild), m_additionalArguments);
154 addBuildConfiguration("Release", 0, QtVersion::BuildAll, m_additionalArguments);
153 m_project->addQt4BuildConfiguration("Debug", 0, QtVersion::QmakeBuildConfig(QtVersion::BuildAll | QtVersion::DebugBuild), m_additionalArguments);
154 m_project->addQt4BuildConfiguration("Release", 0, QtVersion::BuildAll, m_additionalArguments);
155155 } else {
156 addBuildConfiguration("Debug", 0, QtVersion::DebugBuild, m_additionalArguments);
157 addBuildConfiguration("Release", 0, QtVersion::QmakeBuildConfig(0), m_additionalArguments);
156 m_project->addQt4BuildConfiguration("Debug", 0, QtVersion::DebugBuild, m_additionalArguments);
157 m_project->addQt4BuildConfiguration("Release", 0, QtVersion::QmakeBuildConfig(0), m_additionalArguments);
158158 }
159159 }
160160
  
5757 void execDialog();
5858
5959private:
60 void addBuildConfiguration(QString name, QtVersion *qtversion, QtVersion::QmakeBuildConfig buildConfiguration, QStringList additionalArguments);
6160 void setupImportPage(QtVersion *version, QtVersion::QmakeBuildConfig buildConfig, QStringList addtionalArguments);
6261
6362 Qt4Project *m_project;
  
283283 &ok);
284284 if (!ok || buildConfigurationName.isEmpty())
285285 return false;
286 BuildConfiguration *bc = new BuildConfiguration(buildConfigurationName);
287 bc->setValue(KEY_QT_VERSION_ID, info.versionId);
288 m_project->addBuildConfiguration(bc);
286
287 QtVersion *version = QtVersionManager::instance()->version(info.versionId);
288
289 m_project->addQt4BuildConfiguration(tr("%1 Debug").arg(buildConfigurationName),
290 version,
291 (QtVersion::QmakeBuildConfig)(version->defaultBuildConfig() | QtVersion::DebugBuild));
292 m_project->addQt4BuildConfiguration(tr("%1 Release").arg(buildConfigurationName),
293 version,
294 (QtVersion::QmakeBuildConfig)(version->defaultBuildConfig() & ~QtVersion::DebugBuild));
289295 return true;
290296}
291297
434434ProjectExplorer::IBuildConfigurationFactory *Qt4Project::buildConfigurationFactory() const
435435{
436436 return m_buildConfigurationFactory;
437}
438
439void Qt4Project::addQt4BuildConfiguration(QString buildConfigurationName, QtVersion *qtversion,
440 QtVersion::QmakeBuildConfig qmakeBuildConfiguration,
441 QStringList additionalArguments)
442{
443 QMakeStep *qmake = qmakeStep();
444 MakeStep *make = makeStep();
445
446 bool debug = qmakeBuildConfiguration & QtVersion::DebugBuild;
447
448 // Add the buildconfiguration
449 ProjectExplorer::BuildConfiguration *bc = new ProjectExplorer::BuildConfiguration(buildConfigurationName);
450 addBuildConfiguration(bc);
451 const QString &finalBuildConfigurationName = bc->name();
452 if (!additionalArguments.isEmpty())
453 qmake->setValue(finalBuildConfigurationName, "qmakeArgs", additionalArguments);
454
455 // set some options for qmake and make
456 if (qmakeBuildConfiguration & QtVersion::BuildAll) // debug_and_release => explicit targets
457 make->setValue(finalBuildConfigurationName, "makeargs", QStringList() << (debug ? "debug" : "release"));
458
459 bc->setValue("buildConfiguration", int(qmakeBuildConfiguration));
460
461 // Finally set the qt version
462 bool defaultQtVersion = (qtversion == 0);
463 if (defaultQtVersion)
464 setQtVersion(bc, 0);
465 else
466 setQtVersion(bc, qtversion->uniqueId());
437467}
438468
439469namespace {
  
160160 Qt4Manager *qt4ProjectManager() const;
161161 ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
162162
163 void addQt4BuildConfiguration(QString buildConfigurationName,
164 QtVersion *qtversion,
165 QtVersion::QmakeBuildConfig qmakeBuildConfiguration,
166 QStringList additionalArguments = QStringList());
167
163168 QList<Core::IFile *> dependencies(); //NBS remove
164169 QList<ProjectExplorer::Project *>dependsOn();
165170