diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 75d967b2fe363435cc0b0a4270a2d973c03a69ac..549d0ce3508029ad56bb9908bbde8ebc76d3ec7a 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -2171,6 +2171,7 @@ BuildConfigDialog::BuildConfigDialog(Project *project, QWidget *parent) descriptiveText->setWordWrap(true); vlayout->addWidget(descriptiveText); m_configCombo = new QComboBox; + RunConfiguration *activeRun = m_project->activeRunConfiguration(); foreach (BuildConfiguration *config, m_project->buildConfigurations()) { if (activeRun->isEnabled(config)) { diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index 71cddb250e3e1005314fd3748ecb41f7f90c0f24..cac66e7493686e7d9b5bed17085a2eaf70e5d343 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -361,6 +361,8 @@ void RunConfigurationComboBox::addedRunConfiguration(ProjectExplorer::Project *p void RunConfigurationComboBox::removedRunConfiguration(ProjectExplorer::Project *p, const QString &name) { + Q_UNUSED(p) + Q_UNUSED(name) rebuildTree(); } diff --git a/src/plugins/qt4projectmanager/projectloadwizard.cpp b/src/plugins/qt4projectmanager/projectloadwizard.cpp index ffad329b3f802c80765eef48ba8f2a30da0e6647..3eae813b041788bc06da3fd9aa8d8c00214017fc 100644 --- a/src/plugins/qt4projectmanager/projectloadwizard.cpp +++ b/src/plugins/qt4projectmanager/projectloadwizard.cpp @@ -63,7 +63,7 @@ ProjectLoadWizard::ProjectLoadWizard(Qt4Project *project, QWidget *parent, Qt::W m_temporaryVersion = true; } - QPair<QtVersion::QmakeBuildConfig, QStringList> result = + QPair<QtVersion::QmakeBuildConfigs, QStringList> result = QtVersionManager::scanMakeFile(directory, m_importVersion->defaultBuildConfig()); m_importBuildConfig = result.first; m_additionalArguments = Qt4Project::removeSpecFromArgumentList(result.second); @@ -126,11 +126,11 @@ void ProjectLoadWizard::done(int result) if (m_importBuildConfig & QtVersion::BuildAll) { // Also create the other configuration - QtVersion::QmakeBuildConfig otherBuildConfiguration = m_importBuildConfig; + QtVersion::QmakeBuildConfigs otherBuildConfiguration = m_importBuildConfig; if (debug) - otherBuildConfiguration = QtVersion::QmakeBuildConfig(otherBuildConfiguration & ~ QtVersion::DebugBuild); + otherBuildConfiguration = otherBuildConfiguration & ~ QtVersion::DebugBuild; else - otherBuildConfiguration = QtVersion::QmakeBuildConfig(otherBuildConfiguration | QtVersion::DebugBuild); + otherBuildConfiguration = otherBuildConfiguration | QtVersion::DebugBuild; m_project->addQt4BuildConfiguration(debug ? "Release" : "Debug", m_importVersion, otherBuildConfiguration, m_additionalArguments); } @@ -144,7 +144,7 @@ void ProjectLoadWizard::done(int result) if (defaultVersion && defaultVersion->isValid() && (defaultVersion->defaultBuildConfig() & QtVersion::BuildAll)) buildAll = true; if (buildAll) { - m_project->addQt4BuildConfiguration("Debug", 0, QtVersion::QmakeBuildConfig(QtVersion::BuildAll | QtVersion::DebugBuild), m_additionalArguments); + m_project->addQt4BuildConfiguration("Debug", 0, QtVersion::BuildAll | QtVersion::DebugBuild, m_additionalArguments); m_project->addQt4BuildConfiguration("Release", 0, QtVersion::BuildAll, m_additionalArguments); } else { m_project->addQt4BuildConfiguration("Debug", 0, QtVersion::DebugBuild, m_additionalArguments); @@ -162,7 +162,7 @@ int ProjectLoadWizard::nextId() const return -1; } -void ProjectLoadWizard::setupImportPage(QtVersion *version, QtVersion::QmakeBuildConfig buildConfig, QStringList addtionalArguments) +void ProjectLoadWizard::setupImportPage(QtVersion *version, QtVersion::QmakeBuildConfigs buildConfig, QStringList addtionalArguments) { resize(605, 490); // Import Page diff --git a/src/plugins/qt4projectmanager/projectloadwizard.h b/src/plugins/qt4projectmanager/projectloadwizard.h index ef92cfb516eab913034b0e65b70091639290e016..a4b3bea62ca4386a7b16b574b24817870df42fe1 100644 --- a/src/plugins/qt4projectmanager/projectloadwizard.h +++ b/src/plugins/qt4projectmanager/projectloadwizard.h @@ -57,13 +57,13 @@ public: void execDialog(); private: - void setupImportPage(QtVersion *version, QtVersion::QmakeBuildConfig buildConfig, QStringList addtionalArguments); + void setupImportPage(QtVersion *version, QtVersion::QmakeBuildConfigs buildConfig, QStringList addtionalArguments); Qt4Project *m_project; // Only used for imported stuff QtVersion *m_importVersion; - QtVersion::QmakeBuildConfig m_importBuildConfig; + QtVersion::QmakeBuildConfigs m_importBuildConfig; QStringList m_additionalArguments; // Those that we might add bool m_temporaryVersion; diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 3dc192594bf757dc04261cfdea9ffdf96cee38b5..51fb62997189e02dd1c72689fcda54dae5fc7fc8 100644 --- a/src/plugins/qt4projectmanager/qmakestep.cpp +++ b/src/plugins/qt4projectmanager/qmakestep.cpp @@ -77,8 +77,8 @@ QStringList QMakeStep::arguments(const QString &buildConfiguration) if (bc->value("buildConfiguration").isValid()) { QStringList configarguments; - QtVersion::QmakeBuildConfig defaultBuildConfiguration = m_pro->qtVersion(bc)->defaultBuildConfig(); - QtVersion::QmakeBuildConfig projectBuildConfiguration = QtVersion::QmakeBuildConfig(bc->value("buildConfiguration").toInt()); + QtVersion::QmakeBuildConfigs defaultBuildConfiguration = m_pro->qtVersion(bc)->defaultBuildConfig(); + QtVersion::QmakeBuildConfigs projectBuildConfiguration = QtVersion::QmakeBuildConfig(bc->value("buildConfiguration").toInt()); if ((defaultBuildConfiguration & QtVersion::BuildAll) && !(projectBuildConfiguration & QtVersion::BuildAll)) configarguments << "CONFIG-=debug_and_release"; if (!(defaultBuildConfiguration & QtVersion::BuildAll) && (projectBuildConfiguration & QtVersion::BuildAll)) @@ -271,12 +271,12 @@ void QMakeStepConfigWidget::qmakeArgumentsLineEditTextEdited() void QMakeStepConfigWidget::buildConfigurationChanged() { ProjectExplorer::BuildConfiguration *bc = m_step->project()->buildConfiguration(m_buildConfiguration); - QtVersion::QmakeBuildConfig buildConfiguration = QtVersion::QmakeBuildConfig(bc->value("buildConfiguration").toInt()); + QtVersion::QmakeBuildConfigs buildConfiguration = QtVersion::QmakeBuildConfig(bc->value("buildConfiguration").toInt()); if (m_ui.buildConfigurationComboBox->currentIndex() == 0) { // debug - buildConfiguration = QtVersion::QmakeBuildConfig(buildConfiguration | QtVersion::DebugBuild); + buildConfiguration = buildConfiguration | QtVersion::DebugBuild; } else { - buildConfiguration = QtVersion::QmakeBuildConfig(buildConfiguration & ~QtVersion::DebugBuild); + buildConfiguration = buildConfiguration & ~QtVersion::DebugBuild; } bc->setValue("buildConfiguration", int(buildConfiguration)); static_cast<Qt4Project *>(m_step->project())->invalidateCachedTargetInformation(); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp index 3d3290512f144f48043ea9cf1766d5b3b69588e0..616bd86be417b25263f9d7dd6d029c8bf6c0a960 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp @@ -272,9 +272,9 @@ void S60DeviceRunConfiguration::updateTarget() reader->setQtVersion(qtVersion); // Find out what flags we pass on to qmake, this code is duplicated in the qmake step - QtVersion::QmakeBuildConfig defaultBuildConfiguration = qtVersion->defaultBuildConfig(); - QtVersion::QmakeBuildConfig projectBuildConfiguration = QtVersion::QmakeBuildConfig(pro->activeBuildConfiguration() - ->value("buildConfiguration").toInt()); + QtVersion::QmakeBuildConfigs defaultBuildConfiguration = qtVersion->defaultBuildConfig(); + QtVersion::QmakeBuildConfigs projectBuildConfiguration = pro->activeBuildConfiguration() + ->value("buildConfiguration").toInt(); QStringList addedUserConfigArguments; QStringList removedUserConfigArguments; if ((defaultBuildConfiguration & QtVersion::BuildAll) && !(projectBuildConfiguration & QtVersion::BuildAll)) diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp index 729df92277574dc08e998a1da14ed4b49d7c7634..5c3c2c48023e28818c8e2d51d4394cb86f9cac65 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp @@ -127,8 +127,8 @@ void S60EmulatorRunConfiguration::updateTarget() reader->setQtVersion(qtVersion); // Find out what flags we pass on to qmake, this code is duplicated in the qmake step - QtVersion::QmakeBuildConfig defaultBuildConfiguration = qtVersion->defaultBuildConfig(); - QtVersion::QmakeBuildConfig projectBuildConfiguration = QtVersion::QmakeBuildConfig(pro->activeBuildConfiguration() + QtVersion::QmakeBuildConfigs defaultBuildConfiguration = qtVersion->defaultBuildConfig(); + QtVersion::QmakeBuildConfigs projectBuildConfiguration = QtVersion::QmakeBuildConfig(pro->activeBuildConfiguration() ->value("buildConfiguration").toInt()); QStringList addedUserConfigArguments; QStringList removedUserConfigArguments; diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index fa7b3a45827459e4310f6d0ff301dfbdf7ddd535..ede6604bcf0d61f30e15d26fa10bbabcd6e259c8 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -289,10 +289,10 @@ bool Qt4BuildConfigurationFactory::create(const QString &type) const m_project->addQt4BuildConfiguration(tr("%1 Debug").arg(buildConfigurationName), version, - (QtVersion::QmakeBuildConfig)(version->defaultBuildConfig() | QtVersion::DebugBuild)); + (version->defaultBuildConfig() | QtVersion::DebugBuild)); m_project->addQt4BuildConfiguration(tr("%1 Release").arg(buildConfigurationName), version, - (QtVersion::QmakeBuildConfig)(version->defaultBuildConfig() & ~QtVersion::DebugBuild)); + (version->defaultBuildConfig() & ~QtVersion::DebugBuild)); return true; } @@ -437,7 +437,7 @@ ProjectExplorer::IBuildConfigurationFactory *Qt4Project::buildConfigurationFacto } void Qt4Project::addQt4BuildConfiguration(QString buildConfigurationName, QtVersion *qtversion, - QtVersion::QmakeBuildConfig qmakeBuildConfiguration, + QtVersion::QmakeBuildConfigs qmakeBuildConfiguration, QStringList additionalArguments) { QMakeStep *qmake = qmakeStep(); @@ -851,7 +851,7 @@ void Qt4Project::addDefaultBuild() bc->setValue("buildConfiguration", v); } else if (!bc->value("buildConfiguration").isValid()) { if (QtVersion *version = qtVersion(bc)) - bc->setValue("buildConfiguration", version->defaultBuildConfig()); + bc->setValue("buildConfiguration", int(version->defaultBuildConfig())); else bc->setValue("buildConfiguration", int(QtVersion::BuildAll & QtVersion::DebugBuild)); } @@ -1299,7 +1299,7 @@ bool Qt4Project::compareBuildConfigurationToImportFrom(BuildConfiguration *confi QtVersion *version = qtVersion(configuration); if (version->qmakeCommand() == qmakePath) { // same qtversion - QPair<QtVersion::QmakeBuildConfig, QStringList> result = + QPair<QtVersion::QmakeBuildConfigs, QStringList> result = QtVersionManager::scanMakeFile(workingDirectory, version->defaultBuildConfig()); if (QtVersion::QmakeBuildConfig(configuration->value("buildConfiguration").toInt()) == result.first) { // The QMake Build Configuration are the same, diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h index aac7ac8cbabc7dd11dc75b9b53de14de3af60dd7..21b96e26a7d87e49d0a7a43e0dc2ef424261052d 100644 --- a/src/plugins/qt4projectmanager/qt4project.h +++ b/src/plugins/qt4projectmanager/qt4project.h @@ -163,7 +163,7 @@ public: void addQt4BuildConfiguration(QString buildConfigurationName, QtVersion *qtversion, - QtVersion::QmakeBuildConfig qmakeBuildConfiguration, + QtVersion::QmakeBuildConfigs qmakeBuildConfiguration, QStringList additionalArguments = QStringList()); QList<Core::IFile *> dependencies(); //NBS remove diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp index a4627ced2945f6e9795a04bd79d29261f3a3712d..4c87287958c287a63ddd0362278ed8833e8648a2 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp @@ -285,9 +285,9 @@ void Qt4ProjectConfigWidget::importLabelClicked() vm->addVersion(version); } - QPair<QtVersion::QmakeBuildConfig, QStringList> result = + QPair<QtVersion::QmakeBuildConfigs, QStringList> result = QtVersionManager::scanMakeFile(directory, version->defaultBuildConfig()); - QtVersion::QmakeBuildConfig qmakeBuildConfig = result.first; + QtVersion::QmakeBuildConfigs qmakeBuildConfig = result.first; QStringList additionalArguments = Qt4Project::removeSpecFromArgumentList(result.second); QString parsedSpec = Qt4Project::extractSpecFromArgumentList(result.second, directory, version); QString versionSpec = version->mkspec(); diff --git a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp index 349b0052fb77b4ccd89f11027555ee0b58ae8c04..40759947d647c0648fbf2e0144565fb8531bb7d3 100644 --- a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp @@ -568,8 +568,8 @@ void Qt4RunConfiguration::updateTarget() reader->setQtVersion(pro->qtVersion(pro->activeBuildConfiguration())); // Find out what flags we pass on to qmake, this code is duplicated in the qmake step - QtVersion::QmakeBuildConfig defaultBuildConfiguration = pro->qtVersion(pro->activeBuildConfiguration())->defaultBuildConfig(); - QtVersion::QmakeBuildConfig projectBuildConfiguration = QtVersion::QmakeBuildConfig(pro->activeBuildConfiguration()->value("buildConfiguration").toInt()); + QtVersion::QmakeBuildConfigs defaultBuildConfiguration = pro->qtVersion(pro->activeBuildConfiguration())->defaultBuildConfig(); + QtVersion::QmakeBuildConfigs projectBuildConfiguration = QtVersion::QmakeBuildConfig(pro->activeBuildConfiguration()->value("buildConfiguration").toInt()); QStringList addedUserConfigArguments; QStringList removedUserConfigArguments; if ((defaultBuildConfiguration & QtVersion::BuildAll) && !(projectBuildConfiguration & QtVersion::BuildAll)) diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp index 8f50ce13d2bf3305aba4586b1828d3b90abcaa37..139350eec74ab143e7bb79bd832096aa6210307b 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.cpp +++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp @@ -671,11 +671,11 @@ void dumpQMakeAssignments(const QList<QMakeAssignment> &list) } } -QPair<QtVersion::QmakeBuildConfig, QStringList> QtVersionManager::scanMakeFile(const QString &directory, QtVersion::QmakeBuildConfig defaultBuildConfig) +QPair<QtVersion::QmakeBuildConfigs, QStringList> QtVersionManager::scanMakeFile(const QString &directory, QtVersion::QmakeBuildConfigs defaultBuildConfig) { if (debug) qDebug()<<"ScanMakeFile, the gory details:"; - QtVersion::QmakeBuildConfig result = QtVersion::NoBuild; + QtVersion::QmakeBuildConfigs result = QtVersion::NoBuild; QStringList result2; QString line = findQMakeLine(directory); @@ -829,9 +829,9 @@ void QtVersionManager::parseParts(const QStringList &parts, QList<QMakeAssignmen } /// This function extracts all the CONFIG+=debug, CONFIG+=release -QtVersion::QmakeBuildConfig QtVersionManager::qmakeBuildConfigFromCmdArgs(QList<QMakeAssignment> *assignments, QtVersion::QmakeBuildConfig defaultBuildConfig) +QtVersion::QmakeBuildConfigs QtVersionManager::qmakeBuildConfigFromCmdArgs(QList<QMakeAssignment> *assignments, QtVersion::QmakeBuildConfigs defaultBuildConfig) { - QtVersion::QmakeBuildConfig result = defaultBuildConfig; + QtVersion::QmakeBuildConfigs result = defaultBuildConfig; QList<QMakeAssignment> oldAssignments = *assignments; assignments->clear(); foreach(QMakeAssignment qa, oldAssignments) { @@ -841,19 +841,19 @@ QtVersion::QmakeBuildConfig QtVersionManager::qmakeBuildConfigFromCmdArgs(QList< foreach(const QString &value, values) { if (value == "debug") { if (qa.op == "+=") - result = QtVersion::QmakeBuildConfig(result | QtVersion::DebugBuild); + result = result | QtVersion::DebugBuild; else - result = QtVersion::QmakeBuildConfig(result & ~QtVersion::DebugBuild); + result = result & ~QtVersion::DebugBuild; } else if (value == "release") { if (qa.op == "+=") - result = QtVersion::QmakeBuildConfig(result & ~QtVersion::DebugBuild); + result = result & ~QtVersion::DebugBuild; else - result = QtVersion::QmakeBuildConfig(result | QtVersion::DebugBuild); + result = result | QtVersion::DebugBuild; } else if (value == "debug_and_release") { if (qa.op == "+=") - result = QtVersion::QmakeBuildConfig(result | QtVersion::BuildAll); + result = result | QtVersion::BuildAll; else - result = QtVersion::QmakeBuildConfig(result & ~QtVersion::BuildAll); + result = result & ~QtVersion::BuildAll; } else { newValues.append(value); } @@ -1294,14 +1294,15 @@ bool QtVersion::isValid() const || name() == QString::null) && !m_notInstalled); } -QtVersion::QmakeBuildConfig QtVersion::defaultBuildConfig() const +QtVersion::QmakeBuildConfigs QtVersion::defaultBuildConfig() const { updateToolChainAndMkspec(); - QtVersion::QmakeBuildConfig result = QtVersion::QmakeBuildConfig(0); + QtVersion::QmakeBuildConfigs result = QtVersion::QmakeBuildConfig(0); + if (m_defaultConfigIsDebugAndRelease) result = QtVersion::BuildAll; if (m_defaultConfigIsDebug) - result = QtVersion::QmakeBuildConfig(result | QtVersion::DebugBuild); + result = result | QtVersion::DebugBuild; return result; } diff --git a/src/plugins/qt4projectmanager/qtversionmanager.h b/src/plugins/qt4projectmanager/qtversionmanager.h index ac553da0320144dfec45bc087774aa613fe5f474..181e8af60cad1600d465f0e8c562a26308943e5c 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.h +++ b/src/plugins/qt4projectmanager/qtversionmanager.h @@ -132,10 +132,10 @@ public: BuildAll = 8 }; - QmakeBuildConfig defaultBuildConfig() const; + Q_DECLARE_FLAGS(QmakeBuildConfigs, QmakeBuildConfig) + QmakeBuildConfigs defaultBuildConfig() const; QString toHtml() const; - private: QList<QSharedPointer<ProjectExplorer::ToolChain> > toolChains() const; static int getUniqueId(); @@ -178,6 +178,8 @@ private: mutable QString m_linguistCommand; }; +Q_DECLARE_OPERATORS_FOR_FLAGS(QtVersion::QmakeBuildConfigs) + struct QMakeAssignment { QString variable; @@ -207,7 +209,7 @@ public: void removeVersion(QtVersion *version); // Static Methods - static QPair<QtVersion::QmakeBuildConfig, QStringList> scanMakeFile(const QString &directory, QtVersion::QmakeBuildConfig defaultBuildConfig); + static QPair<QtVersion::QmakeBuildConfigs, QStringList> scanMakeFile(const QString &directory, QtVersion::QmakeBuildConfigs defaultBuildConfig); static QString findQMakeBinaryFromMakefile(const QString &directory); signals: void defaultQtVersionChanged(); @@ -221,7 +223,7 @@ private: static QString trimLine(const QString line); static QStringList splitLine(const QString &line); static void parseParts(const QStringList &parts, QList<QMakeAssignment> *assignments, QList<QMakeAssignment> *afterAssignments, QStringList *additionalArguments); - static QtVersion::QmakeBuildConfig qmakeBuildConfigFromCmdArgs(QList<QMakeAssignment> *assignments, QtVersion::QmakeBuildConfig defaultBuildConfig); + static QtVersion::QmakeBuildConfigs qmakeBuildConfigFromCmdArgs(QList<QMakeAssignment> *assignments, QtVersion::QmakeBuildConfigs defaultBuildConfig); // Used by QtOptionsPage void setNewQtVersions(QList<QtVersion *> newVersions, int newDefaultVersion); // Used by QtVersion