qt4buildconfiguration: code cosmetics

Change-Id: I39e60655384798fe5dcfc9d2c7c01747650774bb
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
hjk
2012-08-29 23:17:42 +02:00
committed by Tobias Hunger
parent 25dea9a393
commit 9df46317a4

View File

@@ -54,19 +54,19 @@
#include <QInputDialog> #include <QInputDialog>
using namespace Qt4ProjectManager; namespace Qt4ProjectManager {
using namespace Qt4ProjectManager::Internal;
using namespace Internal;
using namespace ProjectExplorer; using namespace ProjectExplorer;
using namespace QtSupport;
using namespace Utils;
namespace { const char QT4_BC_ID[] = "Qt4ProjectManager.Qt4BuildConfiguration";
const char * const QT4_BC_ID("Qt4ProjectManager.Qt4BuildConfiguration"); const char USE_SHADOW_BUILD_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild";
const char BUILD_DIRECTORY_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory";
const char * const USE_SHADOW_BUILD_KEY("Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild"); const char BUILD_CONFIGURATION_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration";
const char * const BUILD_DIRECTORY_KEY("Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory");
const char * const BUILD_CONFIGURATION_KEY("Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration");
enum { debug = 0 }; enum { debug = 0 };
}
Qt4BuildConfiguration::Qt4BuildConfiguration(Target *target) : Qt4BuildConfiguration::Qt4BuildConfiguration(Target *target) :
BuildConfiguration(target, Core::Id(QT4_BC_ID)), BuildConfiguration(target, Core::Id(QT4_BC_ID)),
@@ -122,7 +122,7 @@ bool Qt4BuildConfiguration::fromMap(const QVariantMap &map)
return false; return false;
m_shadowBuild = map.value(QLatin1String(USE_SHADOW_BUILD_KEY), true).toBool(); m_shadowBuild = map.value(QLatin1String(USE_SHADOW_BUILD_KEY), true).toBool();
m_qmakeBuildConfiguration = QtSupport::BaseQtVersion::QmakeBuildConfigs(map.value(QLatin1String(BUILD_CONFIGURATION_KEY)).toInt()); m_qmakeBuildConfiguration = BaseQtVersion::QmakeBuildConfigs(map.value(QLatin1String(BUILD_CONFIGURATION_KEY)).toInt());
m_buildDirectory = map.value(QLatin1String(BUILD_DIRECTORY_KEY), defaultShadowBuildDirectory()).toString(); m_buildDirectory = map.value(QLatin1String(BUILD_DIRECTORY_KEY), defaultShadowBuildDirectory()).toString();
m_lastEmmitedBuildDirectory = buildDirectory(); m_lastEmmitedBuildDirectory = buildDirectory();
@@ -159,9 +159,9 @@ void Qt4BuildConfiguration::emitBuildDirectoryChanged()
} }
} }
Utils::Environment Qt4BuildConfiguration::baseEnvironment() const Environment Qt4BuildConfiguration::baseEnvironment() const
{ {
Utils::Environment env = BuildConfiguration::baseEnvironment(); Environment env = BuildConfiguration::baseEnvironment();
target()->profile()->addToEnvironment(env); target()->profile()->addToEnvironment(env);
return env; return env;
} }
@@ -193,7 +193,7 @@ QString Qt4BuildConfiguration::rawBuildDirectory() const
return workingDirectory; return workingDirectory;
} }
/// returns the build directory /// Returns the build directory.
QString Qt4BuildConfiguration::buildDirectory() const QString Qt4BuildConfiguration::buildDirectory() const
{ {
return QDir::cleanPath(environment().expandVariables(rawBuildDirectory())); return QDir::cleanPath(environment().expandVariables(rawBuildDirectory()));
@@ -201,14 +201,14 @@ QString Qt4BuildConfiguration::buildDirectory() const
bool Qt4BuildConfiguration::supportsShadowBuilds() bool Qt4BuildConfiguration::supportsShadowBuilds()
{ {
QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); BaseQtVersion *version = QtProfileInformation::qtVersion(target()->profile());
return !version || version->supportsShadowBuilds(); return !version || version->supportsShadowBuilds();
} }
/// If only a sub tree should be build this function returns which sub node /// If only a sub tree should be build this function returns which sub node
/// should be build /// should be build
/// \see Qt4BuildConfiguration::setSubNodeBuild /// \see Qt4BuildConfiguration::setSubNodeBuild
Qt4ProjectManager::Qt4ProFileNode *Qt4BuildConfiguration::subNodeBuild() const Qt4ProFileNode *Qt4BuildConfiguration::subNodeBuild() const
{ {
return m_subNodeBuild; return m_subNodeBuild;
} }
@@ -219,7 +219,7 @@ Qt4ProjectManager::Qt4ProFileNode *Qt4BuildConfiguration::subNodeBuild() const
/// calling BuildManager::buildProject( BuildConfiguration * ) /// calling BuildManager::buildProject( BuildConfiguration * )
/// and reset immediately afterwards /// and reset immediately afterwards
/// That is m_subNodesBuild is set only temporarly /// That is m_subNodesBuild is set only temporarly
void Qt4BuildConfiguration::setSubNodeBuild(Qt4ProjectManager::Qt4ProFileNode *node) void Qt4BuildConfiguration::setSubNodeBuild(Qt4ProFileNode *node)
{ {
m_subNodeBuild = node; m_subNodeBuild = node;
} }
@@ -254,7 +254,7 @@ QString Qt4BuildConfiguration::shadowBuildDirectory() const
void Qt4BuildConfiguration::setShadowBuildAndDirectory(bool shadowBuild, const QString &buildDirectory) void Qt4BuildConfiguration::setShadowBuildAndDirectory(bool shadowBuild, const QString &buildDirectory)
{ {
QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); BaseQtVersion *version = QtProfileInformation::qtVersion(target()->profile());
QString directoryToSet = buildDirectory; QString directoryToSet = buildDirectory;
bool toSet = (shadowBuild && version && version->isValid() && version->supportsShadowBuilds()); bool toSet = (shadowBuild && version && version->isValid() && version->supportsShadowBuilds());
if (m_shadowBuild == toSet && m_buildDirectory == directoryToSet) if (m_shadowBuild == toSet && m_buildDirectory == directoryToSet)
@@ -270,8 +270,8 @@ void Qt4BuildConfiguration::setShadowBuildAndDirectory(bool shadowBuild, const Q
QString Qt4BuildConfiguration::defaultMakeTarget() const QString Qt4BuildConfiguration::defaultMakeTarget() const
{ {
ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(target()->profile()); ToolChain *tc = ToolChainProfileInformation::toolChain(target()->profile());
QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); BaseQtVersion *version = QtProfileInformation::qtVersion(target()->profile());
if (!tc || !version) if (!tc || !version)
return QString(); return QString();
@@ -283,12 +283,12 @@ QString Qt4BuildConfiguration::makefile() const
return static_cast<Qt4Project *>(target()->project())->rootQt4ProjectNode()->makefile(); return static_cast<Qt4Project *>(target()->project())->rootQt4ProjectNode()->makefile();
} }
QtSupport::BaseQtVersion::QmakeBuildConfigs Qt4BuildConfiguration::qmakeBuildConfiguration() const BaseQtVersion::QmakeBuildConfigs Qt4BuildConfiguration::qmakeBuildConfiguration() const
{ {
return m_qmakeBuildConfiguration; return m_qmakeBuildConfiguration;
} }
void Qt4BuildConfiguration::setQMakeBuildConfiguration(QtSupport::BaseQtVersion::QmakeBuildConfigs config) void Qt4BuildConfiguration::setQMakeBuildConfiguration(BaseQtVersion::QmakeBuildConfigs config)
{ {
if (m_qmakeBuildConfiguration == config) if (m_qmakeBuildConfiguration == config)
return; return;
@@ -315,17 +315,18 @@ void Qt4BuildConfiguration::emitQMakeBuildConfigurationChanged()
QStringList Qt4BuildConfiguration::configCommandLineArguments() const QStringList Qt4BuildConfiguration::configCommandLineArguments() const
{ {
QStringList result; QStringList result;
QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); BaseQtVersion *version = QtProfileInformation::qtVersion(target()->profile());
QtSupport::BaseQtVersion::QmakeBuildConfigs defaultBuildConfiguration = version ? version->defaultBuildConfig() : (QtSupport::BaseQtVersion::DebugBuild | QtSupport::BaseQtVersion::BuildAll); BaseQtVersion::QmakeBuildConfigs defaultBuildConfiguration =
QtSupport::BaseQtVersion::QmakeBuildConfigs userBuildConfiguration = m_qmakeBuildConfiguration; version ? version->defaultBuildConfig() : (BaseQtVersion::DebugBuild | BaseQtVersion::BuildAll);
if ((defaultBuildConfiguration & QtSupport::BaseQtVersion::BuildAll) && !(userBuildConfiguration & QtSupport::BaseQtVersion::BuildAll)) BaseQtVersion::QmakeBuildConfigs userBuildConfiguration = m_qmakeBuildConfiguration;
if ((defaultBuildConfiguration & BaseQtVersion::BuildAll) && !(userBuildConfiguration & BaseQtVersion::BuildAll))
result << QLatin1String("CONFIG-=debug_and_release"); result << QLatin1String("CONFIG-=debug_and_release");
if (!(defaultBuildConfiguration & QtSupport::BaseQtVersion::BuildAll) && (userBuildConfiguration & QtSupport::BaseQtVersion::BuildAll)) if (!(defaultBuildConfiguration & BaseQtVersion::BuildAll) && (userBuildConfiguration & BaseQtVersion::BuildAll))
result << QLatin1String("CONFIG+=debug_and_release"); result << QLatin1String("CONFIG+=debug_and_release");
if ((defaultBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild) && !(userBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild)) if ((defaultBuildConfiguration & BaseQtVersion::DebugBuild) && !(userBuildConfiguration & BaseQtVersion::DebugBuild))
result << QLatin1String("CONFIG+=release"); result << QLatin1String("CONFIG+=release");
if (!(defaultBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild) && (userBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild)) if (!(defaultBuildConfiguration & BaseQtVersion::DebugBuild) && (userBuildConfiguration & BaseQtVersion::DebugBuild))
result << QLatin1String("CONFIG+=debug"); result << QLatin1String("CONFIG+=debug");
return result; return result;
} }
@@ -352,19 +353,19 @@ MakeStep *Qt4BuildConfiguration::makeStep() const
return 0; return 0;
} }
// returns true if both are equal // Returns true if both are equal.
Qt4BuildConfiguration::MakefileState Qt4BuildConfiguration::compareToImportFrom(const QString &makefile) Qt4BuildConfiguration::MakefileState Qt4BuildConfiguration::compareToImportFrom(const QString &makefile)
{ {
QMakeStep *qs = qmakeStep(); QMakeStep *qs = qmakeStep();
if (QFileInfo(makefile).exists() && qs) { if (QFileInfo(makefile).exists() && qs) {
Utils::FileName qmakePath = QtSupport::QtVersionManager::findQMakeBinaryFromMakefile(makefile); FileName qmakePath = QtVersionManager::findQMakeBinaryFromMakefile(makefile);
QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); BaseQtVersion *version = QtProfileInformation::qtVersion(target()->profile());
if (!version) if (!version)
return MakefileForWrongProject; return MakefileForWrongProject;
if (version->qmakeCommand() == qmakePath) { if (version->qmakeCommand() == qmakePath) {
// same qtversion // same qtversion
QPair<QtSupport::BaseQtVersion::QmakeBuildConfigs, QString> result = QPair<BaseQtVersion::QmakeBuildConfigs, QString> result =
QtSupport::QtVersionManager::scanMakeFile(makefile, version->defaultBuildConfig()); QtVersionManager::scanMakeFile(makefile, version->defaultBuildConfig());
if (qmakeBuildConfiguration() == result.first) { if (qmakeBuildConfiguration() == result.first) {
// The qmake Build Configuration are the same, // The qmake Build Configuration are the same,
// now compare arguments lists // now compare arguments lists
@@ -377,17 +378,17 @@ Qt4BuildConfiguration::MakefileState Qt4BuildConfiguration::compareToImportFrom(
// are not interested in), splitting them up into individual strings: // are not interested in), splitting them up into individual strings:
extractSpecFromArguments(&userArgs, workingDirectory, version, &actualArgs); extractSpecFromArguments(&userArgs, workingDirectory, version, &actualArgs);
actualArgs = qs->deducedArguments() + actualArgs + qs->deducedArgumentsAfter(); actualArgs = qs->deducedArguments() + actualArgs + qs->deducedArgumentsAfter();
Utils::FileName actualSpec = qs->mkspec(); FileName actualSpec = qs->mkspec();
QString qmakeArgs = result.second; QString qmakeArgs = result.second;
QStringList parsedArgs; QStringList parsedArgs;
Utils::FileName parsedSpec = extractSpecFromArguments(&qmakeArgs, workingDirectory, version, &parsedArgs); FileName parsedSpec = extractSpecFromArguments(&qmakeArgs, workingDirectory, version, &parsedArgs);
if (debug) { if (debug) {
qDebug()<<"Actual args:"<<actualArgs; qDebug() << "Actual args:" << actualArgs;
qDebug()<<"Parsed args:"<<parsedArgs; qDebug() << "Parsed args:" << parsedArgs;
qDebug()<<"Actual spec:"<<actualSpec.toString(); qDebug() << "Actual spec:" << actualSpec.toString();
qDebug()<<"Parsed spec:"<<parsedSpec.toString(); qDebug() << "Parsed spec:" << parsedSpec.toString();
} }
// Comparing the sorted list is obviously wrong // Comparing the sorted list is obviously wrong
@@ -411,20 +412,22 @@ Qt4BuildConfiguration::MakefileState Qt4BuildConfiguration::compareToImportFrom(
if (actualSpec == parsedSpec) if (actualSpec == parsedSpec)
return MakefileMatches; return MakefileMatches;
// Actual spec is the default one // Actual spec is the default one
// qDebug()<<"AS vs VS"<<actualSpec<<version->mkspec(); // qDebug() << "AS vs VS" << actualSpec << version->mkspec();
if ((actualSpec == version->mkspec() || actualSpec == Utils::FileName::fromString(QLatin1String("default"))) if ((actualSpec == version->mkspec() || actualSpec == FileName::fromString(QLatin1String("default")))
&& (parsedSpec == version->mkspec() || parsedSpec == Utils::FileName::fromString(QLatin1String("default")) || parsedSpec.isEmpty())) && (parsedSpec == version->mkspec() || parsedSpec == FileName::fromString(QLatin1String("default")) || parsedSpec.isEmpty()))
return MakefileMatches; return MakefileMatches;
} }
return MakefileIncompatible; return MakefileIncompatible;
} else { } else {
if (debug) if (debug)
qDebug()<<"different qmake buildconfigurations buildconfiguration:"<<qmakeBuildConfiguration()<<" Makefile:"<<result.first; qDebug() << "different qmake buildconfigurations buildconfiguration:"
<< qmakeBuildConfiguration() << " Makefile:" << result.first;
return MakefileIncompatible; return MakefileIncompatible;
} }
} else { } else {
if (debug) if (debug)
qDebug() << "different Qt versions, buildconfiguration:" << version->qmakeCommand().toString() << " Makefile:"<< qmakePath.toString(); qDebug() << "different Qt versions, buildconfiguration:" << version->qmakeCommand().toString()
<< " Makefile:"<< qmakePath.toString();
return MakefileForWrongProject; return MakefileForWrongProject;
} }
} }
@@ -434,7 +437,7 @@ Qt4BuildConfiguration::MakefileState Qt4BuildConfiguration::compareToImportFrom(
bool Qt4BuildConfiguration::removeQMLInspectorFromArguments(QString *args) bool Qt4BuildConfiguration::removeQMLInspectorFromArguments(QString *args)
{ {
bool removedArgument = false; bool removedArgument = false;
for (Utils::QtcProcess::ArgIterator ait(args); ait.next(); ) { for (QtcProcess::ArgIterator ait(args); ait.next(); ) {
const QString arg = ait.value(); const QString arg = ait.value();
if (arg.contains(QLatin1String(Constants::QMAKEVAR_QMLJSDEBUGGER_PATH)) if (arg.contains(QLatin1String(Constants::QMAKEVAR_QMLJSDEBUGGER_PATH))
|| arg.contains(QLatin1String(Constants::QMAKEVAR_DECLARATIVE_DEBUG4)) || arg.contains(QLatin1String(Constants::QMAKEVAR_DECLARATIVE_DEBUG4))
@@ -446,21 +449,21 @@ bool Qt4BuildConfiguration::removeQMLInspectorFromArguments(QString *args)
return removedArgument; return removedArgument;
} }
Utils::FileName Qt4BuildConfiguration::extractSpecFromArguments(QString *args, FileName Qt4BuildConfiguration::extractSpecFromArguments(QString *args,
const QString &directory, const QtSupport::BaseQtVersion *version, const QString &directory, const BaseQtVersion *version,
QStringList *outArgs) QStringList *outArgs)
{ {
Utils::FileName parsedSpec; FileName parsedSpec;
bool ignoreNext = false; bool ignoreNext = false;
bool nextIsSpec = false; bool nextIsSpec = false;
for (Utils::QtcProcess::ArgIterator ait(args); ait.next(); ) { for (QtcProcess::ArgIterator ait(args); ait.next(); ) {
if (ignoreNext) { if (ignoreNext) {
ignoreNext = false; ignoreNext = false;
ait.deleteArg(); ait.deleteArg();
} else if (nextIsSpec) { } else if (nextIsSpec) {
nextIsSpec = false; nextIsSpec = false;
parsedSpec = Utils::FileName::fromUserInput(ait.value()); parsedSpec = FileName::fromUserInput(ait.value());
ait.deleteArg(); ait.deleteArg();
} else if (ait.value() == QLatin1String("-spec") || ait.value() == QLatin1String("-platform")) { } else if (ait.value() == QLatin1String("-spec") || ait.value() == QLatin1String("-platform")) {
nextIsSpec = true; nextIsSpec = true;
@@ -480,9 +483,9 @@ Utils::FileName Qt4BuildConfiguration::extractSpecFromArguments(QString *args,
} }
if (parsedSpec.isEmpty()) if (parsedSpec.isEmpty())
return Utils::FileName(); return FileName();
Utils::FileName baseMkspecDir = Utils::FileName::fromUserInput( FileName baseMkspecDir = FileName::fromUserInput(
version->qmakeProperty("QT_HOST_DATA") + QLatin1String("/mkspecs")); version->qmakeProperty("QT_HOST_DATA") + QLatin1String("/mkspecs"));
// if the path is relative it can be // if the path is relative it can be
@@ -492,23 +495,23 @@ Utils::FileName Qt4BuildConfiguration::extractSpecFromArguments(QString *args,
// for the other one we don't need to do anything // for the other one we don't need to do anything
if (parsedSpec.toFileInfo().isRelative()) { if (parsedSpec.toFileInfo().isRelative()) {
if (QFileInfo(directory + QLatin1Char('/') + parsedSpec.toString()).exists()) { if (QFileInfo(directory + QLatin1Char('/') + parsedSpec.toString()).exists()) {
parsedSpec = Utils::FileName::fromUserInput(directory + QLatin1Char('/') + parsedSpec.toString()); parsedSpec = FileName::fromUserInput(directory + QLatin1Char('/') + parsedSpec.toString());
} else { } else {
parsedSpec = Utils::FileName::fromUserInput(baseMkspecDir.toString() + QLatin1Char('/') + parsedSpec.toString()); parsedSpec = FileName::fromUserInput(baseMkspecDir.toString() + QLatin1Char('/') + parsedSpec.toString());
} }
} }
QFileInfo f2 = parsedSpec.toFileInfo(); QFileInfo f2 = parsedSpec.toFileInfo();
while (f2.isSymLink()) { while (f2.isSymLink()) {
parsedSpec = Utils::FileName::fromString(f2.symLinkTarget()); parsedSpec = FileName::fromString(f2.symLinkTarget());
f2.setFile(parsedSpec.toString()); f2.setFile(parsedSpec.toString());
} }
if (parsedSpec.isChildOf(baseMkspecDir)) { if (parsedSpec.isChildOf(baseMkspecDir)) {
parsedSpec = parsedSpec.relativeChildPath(baseMkspecDir); parsedSpec = parsedSpec.relativeChildPath(baseMkspecDir);
} else { } else {
Utils::FileName sourceMkSpecPath = Utils::FileName::fromString(version->sourcePath().toString() FileName sourceMkSpecPath = FileName::fromString(version->sourcePath().toString()
+ QLatin1String("/mkspecs")); + QLatin1String("/mkspecs"));
if (parsedSpec.isChildOf(sourceMkSpecPath)) { if (parsedSpec.isChildOf(sourceMkSpecPath)) {
parsedSpec = parsedSpec.relativeChildPath(sourceMkSpecPath); parsedSpec = parsedSpec.relativeChildPath(sourceMkSpecPath);
} }
@@ -516,7 +519,7 @@ Utils::FileName Qt4BuildConfiguration::extractSpecFromArguments(QString *args,
return parsedSpec; return parsedSpec;
} }
ProjectExplorer::IOutputParser *Qt4BuildConfiguration::createOutputParser() const IOutputParser *Qt4BuildConfiguration::createOutputParser() const
{ {
ToolChain *tc = ToolChainProfileInformation::toolChain(target()->profile()); ToolChain *tc = ToolChainProfileInformation::toolChain(target()->profile());
return tc ? tc->outputParser() : 0; return tc ? tc->outputParser() : 0;
@@ -547,11 +550,11 @@ void Qt4BuildConfiguration::setEnabled(bool enabled)
*/ */
Qt4BuildConfigurationFactory::Qt4BuildConfigurationFactory(QObject *parent) : Qt4BuildConfigurationFactory::Qt4BuildConfigurationFactory(QObject *parent) :
ProjectExplorer::IBuildConfigurationFactory(parent) IBuildConfigurationFactory(parent)
{ {
update(); update();
QtSupport::QtVersionManager *vm = QtSupport::QtVersionManager::instance(); QtVersionManager *vm = QtVersionManager::instance();
connect(vm, SIGNAL(qtVersionsChanged(QList<int>,QList<int>,QList<int>)), connect(vm, SIGNAL(qtVersionsChanged(QList<int>,QList<int>,QList<int>)),
this, SLOT(update())); this, SLOT(update()));
} }
@@ -593,12 +596,12 @@ bool Qt4BuildConfigurationFactory::canCreate(const Target *parent, const Core::I
return id == QT4_BC_ID; return id == QT4_BC_ID;
} }
BuildConfiguration *Qt4BuildConfigurationFactory::create(ProjectExplorer::Target *parent, const Core::Id id, const QString &name) BuildConfiguration *Qt4BuildConfigurationFactory::create(Target *parent, const Core::Id id, const QString &name)
{ {
if (!canCreate(parent, id)) if (!canCreate(parent, id))
return 0; return 0;
QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(parent->profile()); BaseQtVersion *version = QtProfileInformation::qtVersion(parent->profile());
Q_ASSERT(version); Q_ASSERT(version);
bool ok = true; bool ok = true;
@@ -625,7 +628,7 @@ BuildConfiguration *Qt4BuildConfigurationFactory::create(ProjectExplorer::Target
if (buildConfigurationName != version->displayName()) if (buildConfigurationName != version->displayName())
customSecondName = tr("%1 Release").arg(buildConfigurationName); customSecondName = tr("%1 Release").arg(buildConfigurationName);
if (!(version->defaultBuildConfig() & QtSupport::BaseQtVersion::DebugBuild)) { if (!(version->defaultBuildConfig() & BaseQtVersion::DebugBuild)) {
qSwap(defaultFirstName, defaultSecondName); qSwap(defaultFirstName, defaultSecondName);
qSwap(customFirstName, customSecondName); qSwap(customFirstName, customSecondName);
} }
@@ -635,12 +638,12 @@ BuildConfiguration *Qt4BuildConfigurationFactory::create(ProjectExplorer::Target
version->defaultBuildConfig(), QString(), QString(), false); version->defaultBuildConfig(), QString(), QString(), false);
parent->addBuildConfiguration( parent->addBuildConfiguration(
Qt4BuildConfiguration::setup(parent, defaultSecondName, customSecondName, Qt4BuildConfiguration::setup(parent, defaultSecondName, customSecondName,
(version->defaultBuildConfig() ^ QtSupport::BaseQtVersion::DebugBuild), (version->defaultBuildConfig() ^ BaseQtVersion::DebugBuild),
QString(), QString(), false)); QString(), QString(), false));
return bc; return bc;
} }
bool Qt4BuildConfigurationFactory::canClone(const Target *parent, ProjectExplorer::BuildConfiguration *source) const bool Qt4BuildConfigurationFactory::canClone(const Target *parent, BuildConfiguration *source) const
{ {
return canHandle(parent) && qobject_cast<Qt4BuildConfiguration *>(source); return canHandle(parent) && qobject_cast<Qt4BuildConfiguration *>(source);
} }
@@ -671,20 +674,20 @@ BuildConfiguration *Qt4BuildConfigurationFactory::restore(Target *parent, const
return 0; return 0;
} }
QList<BuildConfigurationInfo> Qt4BuildConfigurationFactory::availableBuildConfigurations(const ProjectExplorer::Profile *p, QList<BuildConfigurationInfo> Qt4BuildConfigurationFactory::availableBuildConfigurations(const Profile *p,
const QString &proFilePath) const QString &proFilePath)
{ {
QList<BuildConfigurationInfo> infoList; QList<BuildConfigurationInfo> infoList;
QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(p); BaseQtVersion *version = QtProfileInformation::qtVersion(p);
if (!version || !version->isValid()) if (!version || !version->isValid())
return infoList; return infoList;
QtSupport::BaseQtVersion::QmakeBuildConfigs config = version->defaultBuildConfig(); BaseQtVersion::QmakeBuildConfigs config = version->defaultBuildConfig();
BuildConfigurationInfo info = BuildConfigurationInfo(config, QString(), QString(), false); BuildConfigurationInfo info = BuildConfigurationInfo(config, QString(), QString(), false);
info.directory = Qt4Project::shadowBuildDirectory(proFilePath, p, buildConfigurationDisplayName(info)); info.directory = Qt4Project::shadowBuildDirectory(proFilePath, p, buildConfigurationDisplayName(info));
infoList.append(info); infoList.append(info);
info.buildConfig = config ^ QtSupport::BaseQtVersion::DebugBuild; info.buildConfig = config ^ BaseQtVersion::DebugBuild;
info.directory = Qt4Project::shadowBuildDirectory(proFilePath, p, buildConfigurationDisplayName(info)); info.directory = Qt4Project::shadowBuildDirectory(proFilePath, p, buildConfigurationDisplayName(info));
infoList.append(info); infoList.append(info);
return infoList; return infoList;
@@ -693,7 +696,7 @@ QList<BuildConfigurationInfo> Qt4BuildConfigurationFactory::availableBuildConfig
// Return name of a build configuration. // Return name of a build configuration.
QString Qt4BuildConfigurationFactory::buildConfigurationDisplayName(const BuildConfigurationInfo &info) QString Qt4BuildConfigurationFactory::buildConfigurationDisplayName(const BuildConfigurationInfo &info)
{ {
return (info.buildConfig & QtSupport::BaseQtVersion::DebugBuild) ? return (info.buildConfig & BaseQtVersion::DebugBuild) ?
//: Name of a debug build configuration to created by a project wizard. We recommend not translating it. //: Name of a debug build configuration to created by a project wizard. We recommend not translating it.
tr("Debug") : tr("Debug") :
//: Name of a release build configuration to be created by a project wizard. We recommend not translating it. //: Name of a release build configuration to be created by a project wizard. We recommend not translating it.
@@ -702,7 +705,7 @@ QString Qt4BuildConfigurationFactory::buildConfigurationDisplayName(const BuildC
BuildConfiguration::BuildType Qt4BuildConfiguration::buildType() const BuildConfiguration::BuildType Qt4BuildConfiguration::buildType() const
{ {
if (qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild) if (qmakeBuildConfiguration() & BaseQtVersion::DebugBuild)
return Debug; return Debug;
else else
return Release; return Release;
@@ -710,21 +713,19 @@ BuildConfiguration::BuildType Qt4BuildConfiguration::buildType() const
Qt4BuildConfiguration *Qt4BuildConfiguration::setup(Target *t, QString defaultDisplayName, Qt4BuildConfiguration *Qt4BuildConfiguration::setup(Target *t, QString defaultDisplayName,
QString displayName, QString displayName,
QtSupport::BaseQtVersion::QmakeBuildConfigs qmakeBuildConfiguration, BaseQtVersion::QmakeBuildConfigs qmakeBuildConfiguration,
QString additionalArguments, QString directory, QString additionalArguments, QString directory,
bool importing) bool importing)
{ {
bool debug = qmakeBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild; bool debug = qmakeBuildConfiguration & BaseQtVersion::DebugBuild;
// Add the buildconfiguration // Add the build configuration.
Qt4BuildConfiguration *bc = new Qt4BuildConfiguration(t); Qt4BuildConfiguration *bc = new Qt4BuildConfiguration(t);
bc->setDefaultDisplayName(defaultDisplayName); bc->setDefaultDisplayName(defaultDisplayName);
bc->setDisplayName(displayName); bc->setDisplayName(displayName);
ProjectExplorer::BuildStepList *buildSteps = BuildStepList *buildSteps = bc->stepList(Core::Id(ProjectExplorer::Constants::BUILDSTEPS_BUILD));
bc->stepList(Core::Id(ProjectExplorer::Constants::BUILDSTEPS_BUILD)); BuildStepList *cleanSteps = bc->stepList(Core::Id(ProjectExplorer::Constants::BUILDSTEPS_CLEAN));
ProjectExplorer::BuildStepList *cleanSteps =
bc->stepList(Core::Id(ProjectExplorer::Constants::BUILDSTEPS_CLEAN));
Q_ASSERT(buildSteps); Q_ASSERT(buildSteps);
Q_ASSERT(cleanSteps); Q_ASSERT(cleanSteps);
@@ -734,7 +735,7 @@ Qt4BuildConfiguration *Qt4BuildConfiguration::setup(Target *t, QString defaultDi
MakeStep *makeStep = new MakeStep(buildSteps); MakeStep *makeStep = new MakeStep(buildSteps);
buildSteps->insertStep(1, makeStep); buildSteps->insertStep(1, makeStep);
MakeStep* cleanStep = new MakeStep(cleanSteps); MakeStep *cleanStep = new MakeStep(cleanSteps);
cleanStep->setClean(true); cleanStep->setClean(true);
cleanStep->setUserArguments(QLatin1String("clean")); cleanStep->setUserArguments(QLatin1String("clean"));
cleanSteps->insertStep(0, cleanStep); cleanSteps->insertStep(0, cleanStep);
@@ -746,8 +747,8 @@ Qt4BuildConfiguration *Qt4BuildConfiguration::setup(Target *t, QString defaultDi
if (importing) if (importing)
qmakeStep->setLinkQmlDebuggingLibrary(enableQmlDebugger); qmakeStep->setLinkQmlDebuggingLibrary(enableQmlDebugger);
// set some options for qmake and make // Set some options for qmake and make.
if (qmakeBuildConfiguration & QtSupport::BaseQtVersion::BuildAll) // debug_and_release => explicit targets if (qmakeBuildConfiguration & BaseQtVersion::BuildAll) // debug_and_release => explicit targets
makeStep->setUserArguments(debug ? QLatin1String("debug") : QLatin1String("release")); makeStep->setUserArguments(debug ? QLatin1String("debug") : QLatin1String("release"));
bc->setQMakeBuildConfiguration(qmakeBuildConfiguration); bc->setQMakeBuildConfiguration(qmakeBuildConfiguration);
@@ -757,3 +758,5 @@ Qt4BuildConfiguration *Qt4BuildConfiguration::setup(Target *t, QString defaultDi
return bc; return bc;
} }
} // namespace Qt4ProjectManager