forked from qt-creator/qt-creator
Add both "debug" and "release" build configurations, not only "release".
Reviewed-by: dt
(cherry picked from commit d500ceacf2
)
This commit is contained in:
@@ -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)
|
void ProjectLoadWizard::done(int result)
|
||||||
{
|
{
|
||||||
QtVersionManager *vm = QtVersionManager::instance();
|
QtVersionManager *vm = QtVersionManager::instance();
|
||||||
@@ -155,7 +128,7 @@ void ProjectLoadWizard::done(int result)
|
|||||||
// qDebug()<<"Creating m_buildconfiguration entry from imported stuff";
|
// qDebug()<<"Creating m_buildconfiguration entry from imported stuff";
|
||||||
// qDebug()<<((m_importBuildConfig& QtVersion::BuildAll)? "debug_and_release" : "")<<((m_importBuildConfig & QtVersion::DebugBuild)? "debug" : "release");
|
// qDebug()<<((m_importBuildConfig& QtVersion::BuildAll)? "debug_and_release" : "")<<((m_importBuildConfig & QtVersion::DebugBuild)? "debug" : "release");
|
||||||
bool debug = m_importBuildConfig & QtVersion::DebugBuild;
|
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) {
|
if (m_importBuildConfig & QtVersion::BuildAll) {
|
||||||
// Also create the other configuration
|
// Also create the other configuration
|
||||||
@@ -165,7 +138,7 @@ void ProjectLoadWizard::done(int result)
|
|||||||
else
|
else
|
||||||
otherBuildConfiguration = QtVersion::QmakeBuildConfig(otherBuildConfiguration | QtVersion::DebugBuild);
|
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 {
|
} else {
|
||||||
// Not importing
|
// Not importing
|
||||||
@@ -177,11 +150,11 @@ void ProjectLoadWizard::done(int result)
|
|||||||
if (defaultVersion && defaultVersion->isValid() && (defaultVersion->defaultBuildConfig() & QtVersion::BuildAll))
|
if (defaultVersion && defaultVersion->isValid() && (defaultVersion->defaultBuildConfig() & QtVersion::BuildAll))
|
||||||
buildAll = true;
|
buildAll = true;
|
||||||
if (buildAll) {
|
if (buildAll) {
|
||||||
addBuildConfiguration("Debug", 0, QtVersion::QmakeBuildConfig(QtVersion::BuildAll | QtVersion::DebugBuild), m_additionalArguments);
|
m_project->addQt4BuildConfiguration("Debug", 0, QtVersion::QmakeBuildConfig(QtVersion::BuildAll | QtVersion::DebugBuild), m_additionalArguments);
|
||||||
addBuildConfiguration("Release", 0, QtVersion::BuildAll, m_additionalArguments);
|
m_project->addQt4BuildConfiguration("Release", 0, QtVersion::BuildAll, m_additionalArguments);
|
||||||
} else {
|
} else {
|
||||||
addBuildConfiguration("Debug", 0, QtVersion::DebugBuild, m_additionalArguments);
|
m_project->addQt4BuildConfiguration("Debug", 0, QtVersion::DebugBuild, m_additionalArguments);
|
||||||
addBuildConfiguration("Release", 0, QtVersion::QmakeBuildConfig(0), m_additionalArguments);
|
m_project->addQt4BuildConfiguration("Release", 0, QtVersion::QmakeBuildConfig(0), m_additionalArguments);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -57,7 +57,6 @@ public:
|
|||||||
void execDialog();
|
void execDialog();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void addBuildConfiguration(QString name, QtVersion *qtversion, QtVersion::QmakeBuildConfig buildConfiguration, QStringList additionalArguments);
|
|
||||||
void setupImportPage(QtVersion *version, QtVersion::QmakeBuildConfig buildConfig, QStringList addtionalArguments);
|
void setupImportPage(QtVersion *version, QtVersion::QmakeBuildConfig buildConfig, QStringList addtionalArguments);
|
||||||
|
|
||||||
Qt4Project *m_project;
|
Qt4Project *m_project;
|
||||||
|
@@ -283,9 +283,15 @@ bool Qt4BuildConfigurationFactory::create(const QString &type) const
|
|||||||
&ok);
|
&ok);
|
||||||
if (!ok || buildConfigurationName.isEmpty())
|
if (!ok || buildConfigurationName.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
BuildConfiguration *bc = new BuildConfiguration(buildConfigurationName);
|
|
||||||
bc->setValue(KEY_QT_VERSION_ID, info.versionId);
|
QtVersion *version = QtVersionManager::instance()->version(info.versionId);
|
||||||
m_project->addBuildConfiguration(bc);
|
|
||||||
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -430,6 +436,36 @@ ProjectExplorer::IBuildConfigurationFactory *Qt4Project::buildConfigurationFacto
|
|||||||
return m_buildConfigurationFactory;
|
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 {
|
namespace {
|
||||||
class FindQt4ProFiles: protected ProjectExplorer::NodesVisitor {
|
class FindQt4ProFiles: protected ProjectExplorer::NodesVisitor {
|
||||||
QList<Qt4ProFileNode *> m_proFiles;
|
QList<Qt4ProFileNode *> m_proFiles;
|
||||||
|
@@ -160,6 +160,11 @@ public:
|
|||||||
Qt4Manager *qt4ProjectManager() const;
|
Qt4Manager *qt4ProjectManager() const;
|
||||||
ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
|
ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
|
||||||
|
|
||||||
|
void addQt4BuildConfiguration(QString buildConfigurationName,
|
||||||
|
QtVersion *qtversion,
|
||||||
|
QtVersion::QmakeBuildConfig qmakeBuildConfiguration,
|
||||||
|
QStringList additionalArguments = QStringList());
|
||||||
|
|
||||||
QList<Core::IFile *> dependencies(); //NBS remove
|
QList<Core::IFile *> dependencies(); //NBS remove
|
||||||
QList<ProjectExplorer::Project *>dependsOn();
|
QList<ProjectExplorer::Project *>dependsOn();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user