aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcon <qtc-committer@nokia.com>2009-10-09 18:14:12 +0200
committercon <qtc-committer@nokia.com>2009-10-09 19:17:36 +0200
commit969032f06fa4025b119dfe64e6fe780c747ef610 (patch)
tree559b128618b86e7f41bd8d9d9199d05302607877
parent6aef76d9c9a6a4f97652bae75e2aba0387af2564 (diff)
Add both "debug" and "release" build configurations, not only "release".
Reviewed-by: dt (cherry picked from commit d500ceacf20bfd60bd3e37bf578741659d9dfc29)
-rw-r--r--src/plugins/qt4projectmanager/projectloadwizard.cpp39
-rw-r--r--src/plugins/qt4projectmanager/projectloadwizard.h1
-rw-r--r--src/plugins/qt4projectmanager/qt4project.cpp42
-rw-r--r--src/plugins/qt4projectmanager/qt4project.h5
4 files changed, 50 insertions, 37 deletions
diff --git a/src/plugins/qt4projectmanager/projectloadwizard.cpp b/src/plugins/qt4projectmanager/projectloadwizard.cpp
index 7bcb6ea849..6b8280e369 100644
--- a/src/plugins/qt4projectmanager/projectloadwizard.cpp
+++ b/src/plugins/qt4projectmanager/projectloadwizard.cpp
@@ -112,33 +112,6 @@ ProjectLoadWizard::~ProjectLoadWizard()
}
-void ProjectLoadWizard::addBuildConfiguration(QString buildConfigurationName, QtVersion *qtversion, QtVersion::QmakeBuildConfig qmakeBuildConfiguration, QStringList additionalArguments)
-{
- QMakeStep *qmakeStep = m_project->qmakeStep();
- MakeStep *makeStep = m_project->makeStep();
-
- bool debug = qmakeBuildConfiguration & QtVersion::DebugBuild;
-
- // Add the buildconfiguration
- ProjectExplorer::BuildConfiguration *bc = new ProjectExplorer::BuildConfiguration(buildConfigurationName);
- m_project->addBuildConfiguration(bc);
- const QString &finalBuildConfigurationName = bc->name();
- qmakeStep->setValue(finalBuildConfigurationName, "qmakeArgs", additionalArguments);
-
- // set some options for qmake and make
- if (qmakeBuildConfiguration & QtVersion::BuildAll) // debug_and_release => explicit targets
- makeStep->setValue(finalBuildConfigurationName, "makeargs", QStringList() << (debug ? "debug" : "release"));
-
- bc->setValue("buildConfiguration", int(qmakeBuildConfiguration));
-
- // Finally set the qt version
- bool defaultQtVersion = (qtversion == 0);
- if (defaultQtVersion)
- m_project->setQtVersion(bc, 0);
- else
- m_project->setQtVersion(bc, qtversion->uniqueId());
-}
-
void ProjectLoadWizard::done(int result)
{
QtVersionManager *vm = QtVersionManager::instance();
@@ -155,7 +128,7 @@ void ProjectLoadWizard::done(int result)
// qDebug()<<"Creating m_buildconfiguration entry from imported stuff";
// qDebug()<<((m_importBuildConfig& QtVersion::BuildAll)? "debug_and_release" : "")<<((m_importBuildConfig & QtVersion::DebugBuild)? "debug" : "release");
bool debug = m_importBuildConfig & QtVersion::DebugBuild;
- addBuildConfiguration(debug ? "Debug" : "Release", m_importVersion, m_importBuildConfig, m_additionalArguments);
+ m_project->addQt4BuildConfiguration(debug ? "Debug" : "Release", m_importVersion, m_importBuildConfig, m_additionalArguments);
if (m_importBuildConfig & QtVersion::BuildAll) {
// Also create the other configuration
@@ -165,7 +138,7 @@ void ProjectLoadWizard::done(int result)
else
otherBuildConfiguration = QtVersion::QmakeBuildConfig(otherBuildConfiguration | QtVersion::DebugBuild);
- addBuildConfiguration(debug ? "Release" : "Debug", m_importVersion, otherBuildConfiguration, m_additionalArguments);
+ m_project->addQt4BuildConfiguration(debug ? "Release" : "Debug", m_importVersion, otherBuildConfiguration, m_additionalArguments);
}
} else {
// Not importing
@@ -177,11 +150,11 @@ void ProjectLoadWizard::done(int result)
if (defaultVersion && defaultVersion->isValid() && (defaultVersion->defaultBuildConfig() & QtVersion::BuildAll))
buildAll = true;
if (buildAll) {
- addBuildConfiguration("Debug", 0, QtVersion::QmakeBuildConfig(QtVersion::BuildAll | QtVersion::DebugBuild), m_additionalArguments);
- addBuildConfiguration("Release", 0, QtVersion::BuildAll, m_additionalArguments);
+ m_project->addQt4BuildConfiguration("Debug", 0, QtVersion::QmakeBuildConfig(QtVersion::BuildAll | QtVersion::DebugBuild), m_additionalArguments);
+ m_project->addQt4BuildConfiguration("Release", 0, QtVersion::BuildAll, m_additionalArguments);
} else {
- addBuildConfiguration("Debug", 0, QtVersion::DebugBuild, m_additionalArguments);
- addBuildConfiguration("Release", 0, QtVersion::QmakeBuildConfig(0), m_additionalArguments);
+ m_project->addQt4BuildConfiguration("Debug", 0, QtVersion::DebugBuild, m_additionalArguments);
+ m_project->addQt4BuildConfiguration("Release", 0, QtVersion::QmakeBuildConfig(0), m_additionalArguments);
}
}
diff --git a/src/plugins/qt4projectmanager/projectloadwizard.h b/src/plugins/qt4projectmanager/projectloadwizard.h
index f6505ae92f..ef92cfb516 100644
--- a/src/plugins/qt4projectmanager/projectloadwizard.h
+++ b/src/plugins/qt4projectmanager/projectloadwizard.h
@@ -57,7 +57,6 @@ public:
void execDialog();
private:
- void addBuildConfiguration(QString name, QtVersion *qtversion, QtVersion::QmakeBuildConfig buildConfiguration, QStringList additionalArguments);
void setupImportPage(QtVersion *version, QtVersion::QmakeBuildConfig buildConfig, QStringList addtionalArguments);
Qt4Project *m_project;
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index a2918a0dc2..3daca43eb9 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -283,9 +283,15 @@ bool Qt4BuildConfigurationFactory::create(const QString &type) const
&ok);
if (!ok || buildConfigurationName.isEmpty())
return false;
- BuildConfiguration *bc = new BuildConfiguration(buildConfigurationName);
- bc->setValue(KEY_QT_VERSION_ID, info.versionId);
- m_project->addBuildConfiguration(bc);
+
+ QtVersion *version = QtVersionManager::instance()->version(info.versionId);
+
+ m_project->addQt4BuildConfiguration(tr("%1 Debug").arg(buildConfigurationName),
+ version,
+ (QtVersion::QmakeBuildConfig)(version->defaultBuildConfig() | QtVersion::DebugBuild));
+ m_project->addQt4BuildConfiguration(tr("%1 Release").arg(buildConfigurationName),
+ version,
+ (QtVersion::QmakeBuildConfig)(version->defaultBuildConfig() & ~QtVersion::DebugBuild));
return true;
}
@@ -430,6 +436,36 @@ ProjectExplorer::IBuildConfigurationFactory *Qt4Project::buildConfigurationFacto
return m_buildConfigurationFactory;
}
+void Qt4Project::addQt4BuildConfiguration(QString buildConfigurationName, QtVersion *qtversion,
+ QtVersion::QmakeBuildConfig qmakeBuildConfiguration,
+ QStringList additionalArguments)
+{
+ QMakeStep *qmake = qmakeStep();
+ MakeStep *make = makeStep();
+
+ bool debug = qmakeBuildConfiguration & QtVersion::DebugBuild;
+
+ // Add the buildconfiguration
+ ProjectExplorer::BuildConfiguration *bc = new ProjectExplorer::BuildConfiguration(buildConfigurationName);
+ addBuildConfiguration(bc);
+ const QString &finalBuildConfigurationName = bc->name();
+ if (!additionalArguments.isEmpty())
+ qmake->setValue(finalBuildConfigurationName, "qmakeArgs", additionalArguments);
+
+ // set some options for qmake and make
+ if (qmakeBuildConfiguration & QtVersion::BuildAll) // debug_and_release => explicit targets
+ make->setValue(finalBuildConfigurationName, "makeargs", QStringList() << (debug ? "debug" : "release"));
+
+ bc->setValue("buildConfiguration", int(qmakeBuildConfiguration));
+
+ // Finally set the qt version
+ bool defaultQtVersion = (qtversion == 0);
+ if (defaultQtVersion)
+ setQtVersion(bc, 0);
+ else
+ setQtVersion(bc, qtversion->uniqueId());
+}
+
namespace {
class FindQt4ProFiles: protected ProjectExplorer::NodesVisitor {
QList<Qt4ProFileNode *> m_proFiles;
diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h
index 7c553d87f5..597a426247 100644
--- a/src/plugins/qt4projectmanager/qt4project.h
+++ b/src/plugins/qt4projectmanager/qt4project.h
@@ -160,6 +160,11 @@ public:
Qt4Manager *qt4ProjectManager() const;
ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
+ void addQt4BuildConfiguration(QString buildConfigurationName,
+ QtVersion *qtversion,
+ QtVersion::QmakeBuildConfig qmakeBuildConfiguration,
+ QStringList additionalArguments = QStringList());
+
QList<Core::IFile *> dependencies(); //NBS remove
QList<ProjectExplorer::Project *>dependsOn();