Move a lot of qmake independent classes to a new plugin qtsupport

Also adjust qmldumptool to remove the dependency on qt4project/qmlproject, by
passing in the qtversion instead of figuring it out in qmldumptool.

Change-Id: Ie6ac582d36bfef290313c0716b33b62fcf42630c
Reviewed-on: http://codereview.qt.nokia.com/70
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
dt
2011-05-20 21:40:53 +02:00
committed by Daniel Teske
parent dcd34febab
commit 754be1bcfc
135 changed files with 1124 additions and 733 deletions

View File

@@ -38,8 +38,6 @@
#include "qt4nodes.h"
#include "qmakestep.h"
#include "makestep.h"
#include "qtversionfactory.h"
#include "baseqtversion.h"
#include "qt4basetargetfactory.h"
#include <utils/qtcassert.h>
@@ -48,6 +46,8 @@
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/toolchainmanager.h>
#include <qtsupport/qtversionfactory.h>
#include <qtsupport/baseqtversion.h>
#include <QtCore/QDebug>
@@ -118,7 +118,7 @@ QVariantMap Qt4BuildConfiguration::toMap() const
return map;
}
static inline QString msgBuildConfigNotApplicable(const QString &d, const BaseQtVersion *qtVersion,
static inline QString msgBuildConfigNotApplicable(const QString &d, const QtSupport::BaseQtVersion *qtVersion,
const Target *target)
{
return QString::fromLatin1("Warning: Buildconfiguration '%1' : Qt '%2' from %3 not supported by target '%4'").
@@ -133,15 +133,15 @@ bool Qt4BuildConfiguration::fromMap(const QVariantMap &map)
m_shadowBuild = map.value(QLatin1String(USE_SHADOW_BUILD_KEY), true).toBool();
m_qtVersionId = map.value(QLatin1String(QT_VERSION_ID_KEY)).toInt();
ProjectExplorer::ToolChain *tc = toolChain();
m_qmakeBuildConfiguration = BaseQtVersion::QmakeBuildConfigs(map.value(QLatin1String(BUILD_CONFIGURATION_KEY)).toInt());
m_qmakeBuildConfiguration = QtSupport::BaseQtVersion::QmakeBuildConfigs(map.value(QLatin1String(BUILD_CONFIGURATION_KEY)).toInt());
m_buildDirectory = map.value(QLatin1String(BUILD_DIRECTORY_KEY), defaultShadowBuildDirectory()).toString();
// Pick a Qt version if the default version is used:
// We assume that the default Qt version was used in earlier versions of Qt creator.
// Pick a Qt version that supports this target (usually desktop)
if (m_qtVersionId == 0) {
QList<BaseQtVersion *> versions = QtVersionManager::instance()->versionsForTargetId(target()->id());
foreach (BaseQtVersion *v, versions) {
QList<QtSupport::BaseQtVersion *> versions = QtSupport::QtVersionManager::instance()->versionsForTargetId(target()->id());
foreach (QtSupport::BaseQtVersion *v, versions) {
if (v->isValid()) {
m_qtVersionId = v->uniqueId();
break;
@@ -151,7 +151,7 @@ bool Qt4BuildConfiguration::fromMap(const QVariantMap &map)
m_qtVersionId = -1;
}
BaseQtVersion *version = QtVersionManager::instance()->version(m_qtVersionId);
QtSupport::BaseQtVersion *version = QtSupport::QtVersionManager::instance()->version(m_qtVersionId);
if (!version || !version->supportsTargetId(target()->id())) {
m_qtVersionId = -1;
version = 0;
@@ -188,7 +188,7 @@ void Qt4BuildConfiguration::ctor()
connect(this, SIGNAL(environmentChanged()),
this, SLOT(emitProFileEvaluteNeeded()));
QtVersionManager *vm = QtVersionManager::instance();
QtSupport::QtVersionManager *vm = QtSupport::QtVersionManager::instance();
connect(vm, SIGNAL(qtVersionsChanged(QList<int>)),
this, SLOT(qtVersionsChanged(QList<int>)));
}
@@ -285,7 +285,7 @@ QString Qt4BuildConfiguration::shadowBuildDirectory() const
void Qt4BuildConfiguration::setShadowBuildAndDirectory(bool shadowBuild, const QString &buildDirectory)
{
BaseQtVersion *version = qtVersion();
QtSupport::BaseQtVersion *version = qtVersion();
QString directoryToSet = buildDirectory;
bool toSet = (shadowBuild && version && version->isValid() && version->supportsShadowBuilds());
if (m_shadowBuild == toSet && m_buildDirectory == directoryToSet)
@@ -305,10 +305,10 @@ QString Qt4BuildConfiguration::makeCommand() const
return tc ? tc->makeCommand() : "make";
}
static inline QString symbianMakeTarget(BaseQtVersion::QmakeBuildConfigs buildConfig,
static inline QString symbianMakeTarget(QtSupport::BaseQtVersion::QmakeBuildConfigs buildConfig,
const QString &type)
{
QString rc = (buildConfig & BaseQtVersion::DebugBuild) ?
QString rc = (buildConfig & QtSupport::BaseQtVersion::DebugBuild) ?
QLatin1String("debug-") : QLatin1String("release-");
rc += type;
return rc;
@@ -319,7 +319,7 @@ QString Qt4BuildConfiguration::defaultMakeTarget() const
ToolChain *tc = toolChain();
if (!tc || target()->id() != Constants::S60_DEVICE_TARGET_ID)
return QString();
const BaseQtVersion::QmakeBuildConfigs buildConfig = qmakeBuildConfiguration();
const QtSupport::BaseQtVersion::QmakeBuildConfigs buildConfig = qmakeBuildConfiguration();
return symbianMakeTarget(buildConfig, tc->defaultMakeTarget());
}
@@ -329,13 +329,13 @@ QString Qt4BuildConfiguration::makefile() const
return qt4Target()->qt4Project()->rootProjectNode()->makefile();
}
BaseQtVersion *Qt4BuildConfiguration::qtVersion() const
QtSupport::BaseQtVersion *Qt4BuildConfiguration::qtVersion() const
{
QtVersionManager *vm = QtVersionManager::instance();
QtSupport::QtVersionManager *vm = QtSupport::QtVersionManager::instance();
return vm->version(m_qtVersionId);
}
void Qt4BuildConfiguration::setQtVersion(BaseQtVersion *version)
void Qt4BuildConfiguration::setQtVersion(QtSupport::BaseQtVersion *version)
{
if (version == 0) {
m_qtVersionId = -1;
@@ -373,12 +373,12 @@ void Qt4BuildConfiguration::setToolChain(ProjectExplorer::ToolChain *tc)
emitBuildDirectoryChanged();
}
BaseQtVersion::QmakeBuildConfigs Qt4BuildConfiguration::qmakeBuildConfiguration() const
QtSupport::BaseQtVersion::QmakeBuildConfigs Qt4BuildConfiguration::qmakeBuildConfiguration() const
{
return m_qmakeBuildConfiguration;
}
void Qt4BuildConfiguration::setQMakeBuildConfiguration(BaseQtVersion::QmakeBuildConfigs config)
void Qt4BuildConfiguration::setQMakeBuildConfiguration(QtSupport::BaseQtVersion::QmakeBuildConfigs config)
{
if (m_qmakeBuildConfiguration == config)
return;
@@ -413,20 +413,20 @@ void Qt4BuildConfiguration::emitS60CreatesSmartInstallerChanged()
QStringList Qt4BuildConfiguration::configCommandLineArguments() const
{
QStringList result;
BaseQtVersion::QmakeBuildConfigs defaultBuildConfiguration = qtVersion() ? qtVersion()->defaultBuildConfig() : (BaseQtVersion::DebugBuild | BaseQtVersion::BuildAll);
BaseQtVersion::QmakeBuildConfigs userBuildConfiguration = m_qmakeBuildConfiguration;
if ((defaultBuildConfiguration & BaseQtVersion::BuildAll) && !(userBuildConfiguration & BaseQtVersion::BuildAll))
QtSupport::BaseQtVersion::QmakeBuildConfigs defaultBuildConfiguration = qtVersion() ? qtVersion()->defaultBuildConfig() : (QtSupport::BaseQtVersion::DebugBuild | QtSupport::BaseQtVersion::BuildAll);
QtSupport::BaseQtVersion::QmakeBuildConfigs userBuildConfiguration = m_qmakeBuildConfiguration;
if ((defaultBuildConfiguration & QtSupport::BaseQtVersion::BuildAll) && !(userBuildConfiguration & QtSupport::BaseQtVersion::BuildAll))
result << "CONFIG-=debug_and_release";
if (!(defaultBuildConfiguration & BaseQtVersion::BuildAll) && (userBuildConfiguration & BaseQtVersion::BuildAll))
if (!(defaultBuildConfiguration & QtSupport::BaseQtVersion::BuildAll) && (userBuildConfiguration & QtSupport::BaseQtVersion::BuildAll))
result << "CONFIG+=debug_and_release";
if ((defaultBuildConfiguration & BaseQtVersion::DebugBuild)
&& !(userBuildConfiguration & BaseQtVersion::DebugBuild)
&& !(userBuildConfiguration & BaseQtVersion::BuildAll))
if ((defaultBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild)
&& !(userBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild)
&& !(userBuildConfiguration & QtSupport::BaseQtVersion::BuildAll))
result << "CONFIG+=release";
if (!(defaultBuildConfiguration & BaseQtVersion::DebugBuild)
&& (userBuildConfiguration & BaseQtVersion::DebugBuild)
&& !(userBuildConfiguration & BaseQtVersion::BuildAll))
if (!(defaultBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild)
&& (userBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild)
&& !(userBuildConfiguration & QtSupport::BaseQtVersion::BuildAll))
result << "CONFIG+=debug";
return result;
}
@@ -465,14 +465,14 @@ bool Qt4BuildConfiguration::compareToImportFrom(const QString &makefile)
{
QMakeStep *qs = qmakeStep();
if (QFileInfo(makefile).exists() && qs) {
QString qmakePath = QtVersionManager::findQMakeBinaryFromMakefile(makefile);
BaseQtVersion *version = qtVersion();
QString qmakePath = QtSupport::QtVersionManager::findQMakeBinaryFromMakefile(makefile);
QtSupport::BaseQtVersion *version = qtVersion();
if (!version)
return false;
if (version->qmakeCommand() == qmakePath) {
// same qtversion
QPair<BaseQtVersion::QmakeBuildConfigs, QString> result =
QtVersionManager::scanMakeFile(makefile, version->defaultBuildConfig());
QPair<QtSupport::BaseQtVersion::QmakeBuildConfigs, QString> result =
QtSupport::QtVersionManager::scanMakeFile(makefile, version->defaultBuildConfig());
if (qmakeBuildConfiguration() == result.first) {
// The qmake Build Configuration are the same,
// now compare arguments lists
@@ -543,7 +543,7 @@ void Qt4BuildConfiguration::removeQMLInspectorFromArguments(QString *args)
}
QString Qt4BuildConfiguration::extractSpecFromArguments(QString *args,
const QString &directory, const BaseQtVersion *version,
const QString &directory, const QtSupport::BaseQtVersion *version,
QStringList *outArgs)
{
QString parsedSpec;
@@ -652,7 +652,7 @@ Qt4BuildConfigurationFactory::Qt4BuildConfigurationFactory(QObject *parent) :
{
update();
QtVersionManager *vm = QtVersionManager::instance();
QtSupport::QtVersionManager *vm = QtSupport::QtVersionManager::instance();
connect(vm, SIGNAL(qtVersionsChanged(QList<int>)),
this, SLOT(update()));
}
@@ -664,8 +664,8 @@ Qt4BuildConfigurationFactory::~Qt4BuildConfigurationFactory()
void Qt4BuildConfigurationFactory::update()
{
m_versions.clear();
QtVersionManager *vm = QtVersionManager::instance();
foreach (BaseQtVersion *version, vm->validVersions()) {
QtSupport::QtVersionManager *vm = QtSupport::QtVersionManager::instance();
foreach (QtSupport::BaseQtVersion *version, vm->validVersions()) {
QString key = QString::fromLatin1(QT4_BC_ID_PREFIX)
+ QString::fromLatin1("Qt%1").arg(version->uniqueId());
VersionInfo info(tr("Using Qt Version \"%1\"").arg(version->displayName()), version->uniqueId());
@@ -680,7 +680,7 @@ QStringList Qt4BuildConfigurationFactory::availableCreationIds(ProjectExplorer::
return QStringList();
QStringList results;
QtVersionManager *vm = QtVersionManager::instance();
QtSupport::QtVersionManager *vm = QtSupport::QtVersionManager::instance();
for (QMap<QString, VersionInfo>::const_iterator i = m_versions.constBegin();
i != m_versions.constEnd(); ++i) {
if (vm->version(i.value().versionId)->supportsTargetId(parent->id())
@@ -704,7 +704,7 @@ bool Qt4BuildConfigurationFactory::canCreate(ProjectExplorer::Target *parent, co
if (!m_versions.contains(id))
return false;
const VersionInfo &info = m_versions.value(id);
BaseQtVersion *version = QtVersionManager::instance()->version(info.versionId);
QtSupport::BaseQtVersion *version = QtSupport::QtVersionManager::instance()->version(info.versionId);
if (!version ||
!version->supportsTargetId(parent->id()))
return false;
@@ -717,7 +717,7 @@ BuildConfiguration *Qt4BuildConfigurationFactory::create(ProjectExplorer::Target
return 0;
const VersionInfo &info = m_versions.value(id);
BaseQtVersion *version = QtVersionManager::instance()->version(info.versionId);
QtSupport::BaseQtVersion *version = QtSupport::QtVersionManager::instance()->version(info.versionId);
Q_ASSERT(version);
Qt4BaseTarget *qt4Target = static_cast<Qt4BaseTarget *>(parent);
@@ -736,14 +736,14 @@ BuildConfiguration *Qt4BuildConfigurationFactory::create(ProjectExplorer::Target
//: Debug build configuration. We recommend not translating it.
BuildConfiguration *bc = qt4Target->addQt4BuildConfiguration(tr("%1 Debug").arg(buildConfigurationName),
version,
(version->defaultBuildConfig() | BaseQtVersion::DebugBuild),
(version->defaultBuildConfig() | QtSupport::BaseQtVersion::DebugBuild),
QString(), QString());
if (qt4Target->id() != Constants::S60_EMULATOR_TARGET_ID) {
//: Release build configuration. We recommend not translating it.
bc = qt4Target->addQt4BuildConfiguration(tr("%1 Release").arg(buildConfigurationName),
version,
(version->defaultBuildConfig() & ~BaseQtVersion::DebugBuild),
(version->defaultBuildConfig() & ~QtSupport::BaseQtVersion::DebugBuild),
QString(), QString());
}
return bc;
@@ -757,7 +757,7 @@ bool Qt4BuildConfigurationFactory::canClone(ProjectExplorer::Target *parent, Pro
if (!qt4bc)
return false;
BaseQtVersion *version = qt4bc->qtVersion();
QtSupport::BaseQtVersion *version = qt4bc->qtVersion();
if (!version ||
!version->supportsTargetId(parent->id()))
return false;
@@ -804,18 +804,18 @@ void Qt4BuildConfiguration::importFromBuildDirectory()
else
mkfile.append(makefile());
QString qmakePath = QtVersionManager::findQMakeBinaryFromMakefile(mkfile);
QString qmakePath = QtSupport::QtVersionManager::findQMakeBinaryFromMakefile(mkfile);
if (!qmakePath.isEmpty()) {
QtVersionManager *vm = QtVersionManager::instance();
BaseQtVersion *version = vm->qtVersionForQMakeBinary(qmakePath);
QtSupport::QtVersionManager *vm = QtSupport::QtVersionManager::instance();
QtSupport::BaseQtVersion *version = vm->qtVersionForQMakeBinary(qmakePath);
if (!version) {
version = QtVersionFactory::createQtVersionFromQMakePath(qmakePath);
version = QtSupport::QtVersionFactory::createQtVersionFromQMakePath(qmakePath);
vm->addVersion(version);
}
QPair<BaseQtVersion::QmakeBuildConfigs, QString> result =
QtVersionManager::scanMakeFile(mkfile, version->defaultBuildConfig());
BaseQtVersion::QmakeBuildConfigs qmakeBuildConfig = result.first;
QPair<QtSupport::BaseQtVersion::QmakeBuildConfigs, QString> result =
QtSupport::QtVersionManager::scanMakeFile(mkfile, version->defaultBuildConfig());
QtSupport::BaseQtVersion::QmakeBuildConfigs qmakeBuildConfig = result.first;
QString aa = result.second;
QString parsedSpec = Qt4BuildConfiguration::extractSpecFromArguments(&aa, directory, version);
@@ -840,8 +840,8 @@ void Qt4BuildConfiguration::importFromBuildDirectory()
// If we are switching to BuildAll we want "release" in there and no "debug"
// or "debug" in there and no "release"
// If we are switching to not BuildAll we want neither "release" nor "debug" in there
bool debug = qmakeBuildConfig & BaseQtVersion::DebugBuild;
bool haveTag = !(qmakeBuildConfig & BaseQtVersion::BuildAll);
bool debug = qmakeBuildConfig & QtSupport::BaseQtVersion::DebugBuild;
bool haveTag = !(qmakeBuildConfig & QtSupport::BaseQtVersion::BuildAll);
QString makeCmdArguments = makeStep()->userArguments();
Utils::QtcProcess::ArgIterator ait(&makeCmdArguments);
while (ait.next()) {
@@ -866,7 +866,7 @@ void Qt4BuildConfiguration::importFromBuildDirectory()
BuildConfiguration::BuildType Qt4BuildConfiguration::buildType() const
{
if (qmakeBuildConfiguration() & BaseQtVersion::DebugBuild)
if (qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild)
return Debug;
else
return Release;