De-noise QmakeBuildConfiguration

Change-Id: Ib3c156e8847789c03c1618218233e22c3dae496a
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
hjk
2016-01-22 01:04:35 +01:00
parent 2538fbecad
commit 0923feb31e

View File

@@ -84,12 +84,12 @@ QString QmakeBuildConfiguration::shadowBuildDirectory(const QString &proFilePath
return FileUtils::resolvePath(projectDir, buildPath); return FileUtils::resolvePath(projectDir, buildPath);
} }
static Utils::FileName defaultBuildDirectory(const QString &projectPath, static FileName defaultBuildDirectory(const QString &projectPath,
const ProjectExplorer::Kit *k, const Kit *k,
const QString &suffix, const QString &suffix,
BuildConfiguration::BuildType type) BuildConfiguration::BuildType type)
{ {
return Utils::FileName::fromString(QmakeBuildConfiguration::shadowBuildDirectory(projectPath, k, return FileName::fromString(QmakeBuildConfiguration::shadowBuildDirectory(projectPath, k,
suffix, type)); suffix, type));
} }
@@ -141,19 +141,19 @@ bool QmakeBuildConfiguration::fromMap(const QVariantMap &map)
m_lastKitState = LastKitState(target()->kit()); m_lastKitState = LastKitState(target()->kit());
connect(ProjectExplorer::ToolChainManager::instance(), SIGNAL(toolChainUpdated(ProjectExplorer::ToolChain*)), connect(ToolChainManager::instance(), &ToolChainManager::toolChainUpdated,
this, SLOT(toolChainUpdated(ProjectExplorer::ToolChain*))); this, &QmakeBuildConfiguration::toolChainUpdated);
connect(QtSupport::QtVersionManager::instance(), SIGNAL(qtVersionsChanged(QList<int>,QList<int>,QList<int>)), connect(QtVersionManager::instance(), &QtVersionManager::qtVersionsChanged,
this, SLOT(qtVersionsChanged(QList<int>,QList<int>,QList<int>))); this, &QmakeBuildConfiguration::qtVersionsChanged);
return true; return true;
} }
void QmakeBuildConfiguration::ctor() void QmakeBuildConfiguration::ctor()
{ {
connect(this, SIGNAL(environmentChanged()), connect(this, &BuildConfiguration::environmentChanged,
this, SLOT(emitProFileEvaluateNeeded())); this, &QmakeBuildConfiguration::emitProFileEvaluateNeeded);
connect(target(), SIGNAL(kitChanged()), connect(target(), &Target::kitChanged,
this, SLOT(kitChanged())); this, &QmakeBuildConfiguration::kitChanged);
} }
void QmakeBuildConfiguration::kitChanged() void QmakeBuildConfiguration::kitChanged()
@@ -168,7 +168,7 @@ void QmakeBuildConfiguration::kitChanged()
} }
} }
void QmakeBuildConfiguration::toolChainUpdated(ProjectExplorer::ToolChain *tc) void QmakeBuildConfiguration::toolChainUpdated(ToolChain *tc)
{ {
if (ToolChainKitInformation::toolChain(target()->kit()) == tc) if (ToolChainKitInformation::toolChain(target()->kit()) == tc)
emitProFileEvaluateNeeded(); emitProFileEvaluateNeeded();
@@ -471,7 +471,7 @@ FileName QmakeBuildConfiguration::extractSpecFromArguments(QString *args,
FileName baseMkspecDir = FileName::fromUserInput( FileName baseMkspecDir = FileName::fromUserInput(
version->qmakeProperty("QT_HOST_DATA") + QLatin1String("/mkspecs")); version->qmakeProperty("QT_HOST_DATA") + QLatin1String("/mkspecs"));
baseMkspecDir = Utils::FileName::fromString(baseMkspecDir.toFileInfo().canonicalFilePath()); baseMkspecDir = FileName::fromString(baseMkspecDir.toFileInfo().canonicalFilePath());
// if the path is relative it can be // if the path is relative it can be
// relative to the working directory (as found in the Makefiles) // relative to the working directory (as found in the Makefiles)
@@ -531,9 +531,8 @@ QmakeBuildConfigurationFactory::QmakeBuildConfigurationFactory(QObject *parent)
{ {
update(); update();
connect(QtVersionManager::instance(), connect(QtVersionManager::instance(), &QtVersionManager::qtVersionsChanged,
SIGNAL(qtVersionsChanged(QList<int>,QList<int>,QList<int>)), this, &QmakeBuildConfigurationFactory::update);
this, SLOT(update()));
} }
QmakeBuildConfigurationFactory::~QmakeBuildConfigurationFactory() QmakeBuildConfigurationFactory::~QmakeBuildConfigurationFactory()
@@ -556,7 +555,7 @@ QmakeBuildInfo *QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
const QString &projectPath, const QString &projectPath,
BuildConfiguration::BuildType type) const BuildConfiguration::BuildType type) const
{ {
QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(k); BaseQtVersion *version = QtKitInformation::qtVersion(k);
QmakeBuildInfo *info = new QmakeBuildInfo(this); QmakeBuildInfo *info = new QmakeBuildInfo(this);
QString suffix; QString suffix;
if (type == BuildConfiguration::Release) { if (type == BuildConfiguration::Release) {
@@ -589,7 +588,7 @@ QmakeBuildInfo *QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
info->kitId = k->id(); info->kitId = k->id();
// check if this project is in the source directory: // check if this project is in the source directory:
Utils::FileName projectFilePath = Utils::FileName::fromString(projectPath); FileName projectFilePath = FileName::fromString(projectPath);
if (version && version->isInSourceDirectory(projectFilePath)) { if (version && version->isInSourceDirectory(projectFilePath)) {
// assemble build directory // assemble build directory
QString projectDirectory = projectFilePath.toFileInfo().absolutePath(); QString projectDirectory = projectFilePath.toFileInfo().absolutePath();
@@ -598,7 +597,7 @@ QmakeBuildInfo *QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
QString qtBuildDir = version->versionInfo().value(QStringLiteral("QT_INSTALL_PREFIX")); QString qtBuildDir = version->versionInfo().value(QStringLiteral("QT_INSTALL_PREFIX"));
QString absoluteBuildPath = QDir::cleanPath(qtBuildDir + QLatin1Char('/') + relativeProjectPath); QString absoluteBuildPath = QDir::cleanPath(qtBuildDir + QLatin1Char('/') + relativeProjectPath);
info->buildDirectory = Utils::FileName::fromString(absoluteBuildPath); info->buildDirectory = FileName::fromString(absoluteBuildPath);
} else { } else {
info->buildDirectory = defaultBuildDirectory(projectPath, k, suffix, type); info->buildDirectory = defaultBuildDirectory(projectPath, k, suffix, type);
} }
@@ -622,12 +621,12 @@ static QList<BuildConfiguration::BuildType> availableBuildTypes(const BaseQtVers
QList<BuildInfo *> QmakeBuildConfigurationFactory::availableBuilds(const Target *parent) const QList<BuildInfo *> QmakeBuildConfigurationFactory::availableBuilds(const Target *parent) const
{ {
QList<ProjectExplorer::BuildInfo *> result; QList<BuildInfo *> result;
const QString projectFilePath = parent->project()->projectFilePath().toString(); const QString projectFilePath = parent->project()->projectFilePath().toString();
foreach (BuildConfiguration::BuildType buildType, foreach (BuildConfiguration::BuildType buildType,
availableBuildTypes(QtSupport::QtKitInformation::qtVersion(parent->kit()))) { availableBuildTypes(QtKitInformation::qtVersion(parent->kit()))) {
QmakeBuildInfo *info = createBuildInfo(parent->kit(), projectFilePath, buildType); QmakeBuildInfo *info = createBuildInfo(parent->kit(), projectFilePath, buildType);
info->displayName.clear(); // ask for a name info->displayName.clear(); // ask for a name
info->buildDirectory.clear(); // This depends on the displayName info->buildDirectory.clear(); // This depends on the displayName
@@ -639,7 +638,7 @@ QList<BuildInfo *> QmakeBuildConfigurationFactory::availableBuilds(const Target
int QmakeBuildConfigurationFactory::priority(const Kit *k, const QString &projectPath) const int QmakeBuildConfigurationFactory::priority(const Kit *k, const QString &projectPath) const
{ {
Utils::MimeDatabase mdb; MimeDatabase mdb;
if (k && mdb.mimeTypeForFile(projectPath).matchesName(QLatin1String(Constants::PROFILE_MIMETYPE))) if (k && mdb.mimeTypeForFile(projectPath).matchesName(QLatin1String(Constants::PROFILE_MIMETYPE)))
return 0; return 0;
return -1; return -1;
@@ -647,8 +646,8 @@ int QmakeBuildConfigurationFactory::priority(const Kit *k, const QString &projec
QList<BuildInfo *> QmakeBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const QList<BuildInfo *> QmakeBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
{ {
QList<ProjectExplorer::BuildInfo *> result; QList<BuildInfo *> result;
QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k); BaseQtVersion *qtVersion = QtKitInformation::qtVersion(k);
if (!qtVersion || !qtVersion->isValid()) if (!qtVersion || !qtVersion->isValid())
return result; return result;
@@ -662,13 +661,13 @@ void QmakeBuildConfigurationFactory::configureBuildConfiguration(Target *parent,
QmakeBuildConfiguration *bc, QmakeBuildConfiguration *bc,
const QmakeBuildInfo *qmakeInfo) const const QmakeBuildInfo *qmakeInfo) const
{ {
BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(parent->kit()); BaseQtVersion *version = QtKitInformation::qtVersion(parent->kit());
BaseQtVersion::QmakeBuildConfigs config = version->defaultBuildConfig(); BaseQtVersion::QmakeBuildConfigs config = version->defaultBuildConfig();
if (qmakeInfo->buildType == BuildConfiguration::Debug) if (qmakeInfo->buildType == BuildConfiguration::Debug)
config |= QtSupport::BaseQtVersion::DebugBuild; config |= BaseQtVersion::DebugBuild;
else else
config &= ~QtSupport::BaseQtVersion::DebugBuild; config &= ~BaseQtVersion::DebugBuild;
bc->setDefaultDisplayName(qmakeInfo->displayName); bc->setDefaultDisplayName(qmakeInfo->displayName);
bc->setDisplayName(qmakeInfo->displayName); bc->setDisplayName(qmakeInfo->displayName);
@@ -698,7 +697,7 @@ void QmakeBuildConfigurationFactory::configureBuildConfiguration(Target *parent,
bc->setQMakeBuildConfiguration(config); bc->setQMakeBuildConfiguration(config);
Utils::FileName directory = qmakeInfo->buildDirectory; FileName directory = qmakeInfo->buildDirectory;
if (directory.isEmpty()) { if (directory.isEmpty()) {
directory = defaultBuildDirectory(parent->project()->projectFilePath().toString(), directory = defaultBuildDirectory(parent->project()->projectFilePath().toString(),
parent->kit(), qmakeInfo->displayName, bc->buildType()); parent->kit(), qmakeInfo->displayName, bc->buildType());