From 74f67ffef4861c21fdd57c25e0b3c0813ff79759 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Thu, 5 Mar 2015 12:35:33 +0100 Subject: [PATCH] Remove support for !shadowBuild In ancient times we needed to support some qt versions that didn't support shadow building. This code has been unused for some versions now, so remove it completely. Change-Id: I311f255d6bfed6841e94c9c383bd9929d0d55520 Reviewed-by: Tobias Hunger --- .../autotoolsbuildconfiguration.cpp | 1 - .../cmakebuildconfiguration.cpp | 1 - src/plugins/projectexplorer/buildinfo.h | 3 +- .../projectexplorer/targetsetupwidget.cpp | 3 +- .../qbsbuildconfiguration.cpp | 1 - .../qmakebuildconfiguration.cpp | 44 +++---------------- .../qmakebuildconfiguration.h | 5 --- .../qmakeprojectmanager/qmakebuildinfo.h | 1 - .../qmakeprojectconfigwidget.cpp | 22 +++------- src/plugins/qmakeprojectmanager/qmakestep.cpp | 22 ---------- src/plugins/qmakeprojectmanager/qmakestep.h | 2 - src/plugins/qtsupport/baseqtversion.cpp | 5 --- src/plugins/qtsupport/baseqtversion.h | 1 - 13 files changed, 13 insertions(+), 98 deletions(-) diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp index 620a487db41..f17b1d7f6c1 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp @@ -182,7 +182,6 @@ BuildInfo *AutotoolsBuildConfigurationFactory::createBuildInfo(const Kit *k, info->typeName = tr("Build"); info->buildDirectory = buildDir; info->kitId = k->id(); - info->supportsShadowBuild = true; // Works sometimes... return info; } diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 79f796d9a2f..3cb11cd5ef9 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -275,7 +275,6 @@ CMakeBuildInfo *CMakeBuildConfigurationFactory::createBuildInfo(const ProjectExp k->addToEnvironment(info->environment); info->useNinja = false; info->sourceDirectory = sourceDir; - info->supportsShadowBuild = true; return info; } diff --git a/src/plugins/projectexplorer/buildinfo.h b/src/plugins/projectexplorer/buildinfo.h index d7ded538bb1..7a0accccca7 100644 --- a/src/plugins/projectexplorer/buildinfo.h +++ b/src/plugins/projectexplorer/buildinfo.h @@ -45,7 +45,7 @@ class IBuildConfigurationFactory; class PROJECTEXPLORER_EXPORT BuildInfo { public: - BuildInfo(const IBuildConfigurationFactory *f) : supportsShadowBuild(false), m_factory(f) { } + BuildInfo(const IBuildConfigurationFactory *f) : m_factory(f) { } virtual ~BuildInfo() { } const IBuildConfigurationFactory *factory() const { return m_factory; } @@ -54,7 +54,6 @@ public: QString typeName; Utils::FileName buildDirectory; Core::Id kitId; - bool supportsShadowBuild; virtual QList reportIssues(const QString &projectPath, const QString &buildDir) const diff --git a/src/plugins/projectexplorer/targetsetupwidget.cpp b/src/plugins/projectexplorer/targetsetupwidget.cpp index bc2620c4c70..22fc0063d4e 100644 --- a/src/plugins/projectexplorer/targetsetupwidget.cpp +++ b/src/plugins/projectexplorer/targetsetupwidget.cpp @@ -179,9 +179,8 @@ void TargetSetupWidget::addBuildInfo(BuildInfo *info, bool isImport) Utils::PathChooser *pathChooser = new Utils::PathChooser(); pathChooser->setExpectedKind(Utils::PathChooser::Directory); pathChooser->setFileName(info->buildDirectory); - pathChooser->setEnabled(info->supportsShadowBuild); pathChooser->setHistoryCompleter(QLatin1String("TargetSetup.BuildDir.History")); - pathChooser->setReadOnly(!info->supportsShadowBuild || isImport); + pathChooser->setReadOnly(isImport); m_newBuildsLayout->addWidget(pathChooser, pos * 2, 1); QLabel *reportIssuesLabel = new QLabel; diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index f01eb4b09b1..28e8d1184ea 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -376,7 +376,6 @@ BuildInfo *QbsBuildConfigurationFactory::createBuildInfo(const Kit *k, info->typeName = tr("Build"); info->kitId = k->id(); info->type = type; - info->supportsShadowBuild = true; return info; } diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index f538926f2a1..19c745d48f5 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -77,11 +77,6 @@ QString QmakeBuildConfiguration::shadowBuildDirectory(const QString &proFilePath { if (proFilePath.isEmpty()) return QString(); - QFileInfo info(proFilePath); - - BaseQtVersion *version = QtKitInformation::qtVersion(k); - if (version && !version->supportsShadowBuilds()) - return info.absolutePath(); const QString projectName = QFileInfo(proFilePath).completeBaseName(); ProjectMacroExpander expander(projectName, k, suffix); @@ -90,14 +85,11 @@ QString QmakeBuildConfiguration::shadowBuildDirectory(const QString &proFilePath return FileUtils::resolvePath(projectDir, buildPath); } -static Utils::FileName defaultBuildDirectory(bool supportsShadowBuild, - const QString &projectPath, +static Utils::FileName defaultBuildDirectory(const QString &projectPath, const ProjectExplorer::Kit *k, const QString &suffix) { - if (supportsShadowBuild) - return Utils::FileName::fromString(QmakeBuildConfiguration::shadowBuildDirectory(projectPath, k, suffix)); - return ProjectExplorer::Project::projectDirectory(Utils::FileName::fromString(projectPath)); + return Utils::FileName::fromString(QmakeBuildConfiguration::shadowBuildDirectory(projectPath, k, suffix)); } const char QMAKE_BC_ID[] = "Qt4ProjectManager.Qt4BuildConfiguration"; @@ -160,8 +152,6 @@ bool QmakeBuildConfiguration::fromMap(const QVariantMap &map) m_shadowBuild = map.value(QLatin1String(USE_SHADOW_BUILD_KEY), true).toBool(); m_qmakeBuildConfiguration = BaseQtVersion::QmakeBuildConfigs(map.value(QLatin1String(BUILD_CONFIGURATION_KEY)).toInt()); - m_qtVersionSupportsShadowBuilds = supportsShadowBuilds(); - m_lastKitState = LastKitState(target()->kit()); connect(ProjectExplorer::ToolChainManager::instance(), SIGNAL(toolChainUpdated(ProjectExplorer::ToolChain*)), @@ -187,7 +177,6 @@ void QmakeBuildConfiguration::kitChanged() // For that reason the QmakeBuildConfiguration is also connected // to the toolchain and qtversion managers emitProFileEvaluateNeeded(); - updateShadowBuild(); m_lastKitState = newState; } } @@ -204,17 +193,6 @@ void QmakeBuildConfiguration::qtVersionsChanged(const QList &,const QListproject()->projectDirectory()); - m_qtVersionSupportsShadowBuilds = currentShadowBuild; - } -} - NamedWidget *QmakeBuildConfiguration::createConfigWidget() { return new QmakeProjectConfigWidget(this); @@ -227,12 +205,6 @@ QString QmakeBuildConfiguration::defaultShadowBuildDirectory() const target()->kit(), displayName()); } -bool QmakeBuildConfiguration::supportsShadowBuilds() -{ - BaseQtVersion *version = QtKitInformation::qtVersion(target()->kit()); - return !version || version->supportsShadowBuilds(); -} - /// If only a sub tree should be build this function returns which sub node /// should be build /// \see QMakeBuildConfiguration::setSubNodeBuild @@ -276,9 +248,6 @@ void QmakeBuildConfiguration::setBuildDirectory(const FileName &directory) if (directory == buildDirectory()) return; BuildConfiguration::setBuildDirectory(directory); - QTC_CHECK(supportsShadowBuilds() - || (!supportsShadowBuilds() - && buildDirectory() == target()->project()->projectDirectory())); emitProFileEvaluateNeeded(); } @@ -389,7 +358,7 @@ QmakeBuildConfiguration::MakefileState QmakeBuildConfiguration::compareToImportF // This copies the settings from userArgs to actualArgs (minus some we // are not interested in), splitting them up into individual strings: extractSpecFromArguments(&userArgs, workingDirectory, version, &actualArgs); - actualArgs = qs->deducedArguments() + actualArgs + qs->deducedArgumentsAfter(); + actualArgs = qs->deducedArguments() + actualArgs; FileName actualSpec = qs->mkspec(); QString qmakeArgs = result.second; @@ -647,7 +616,6 @@ QmakeBuildInfo *QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k, info->typeName = tr("Build"); // Leave info->buildDirectory unset; info->kitId = k->id(); - info->supportsShadowBuild = (version && version->supportsShadowBuilds()); // check if this project is in the source directory: Utils::FileName projectFilePath = Utils::FileName::fromString(projectPath); @@ -661,8 +629,7 @@ QmakeBuildInfo *QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k, info->buildDirectory = Utils::FileName::fromString(absoluteBuildPath); } else { - info->buildDirectory - = defaultBuildDirectory(info->supportsShadowBuild, projectPath, k, suffix); + info->buildDirectory = defaultBuildDirectory(projectPath, k, suffix); } info->type = type; return info; @@ -745,8 +712,7 @@ void QmakeBuildConfigurationFactory::configureBuildConfiguration(Target *parent, Utils::FileName directory = qmakeInfo->buildDirectory; if (directory.isEmpty()) { - directory = defaultBuildDirectory(qmakeInfo->supportsShadowBuild, - parent->project()->projectFilePath().toString(), + directory = defaultBuildDirectory(parent->project()->projectFilePath().toString(), parent->kit(), qmakeInfo->displayName); } diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h index 2d2d5997e07..112e8f10db6 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h @@ -108,9 +108,6 @@ public: BuildType buildType() const; - /// returns whether the Qt version in the profile supports shadow building (also true for no Qt version) - bool supportsShadowBuilds(); - public slots: void emitProFileEvaluateNeeded(); @@ -134,7 +131,6 @@ protected: private: void ctor(); QString defaultShadowBuildDirectory() const; - void updateShadowBuild(); class LastKitState { @@ -153,7 +149,6 @@ private: bool m_shadowBuild; bool m_isEnabled; - bool m_qtVersionSupportsShadowBuilds; QtSupport::BaseQtVersion::QmakeBuildConfigs m_qmakeBuildConfiguration; QmakeProjectManager::QmakeProFileNode *m_subNodeBuild; ProjectExplorer::FileNode *m_fileNodeBuild; diff --git a/src/plugins/qmakeprojectmanager/qmakebuildinfo.h b/src/plugins/qmakeprojectmanager/qmakebuildinfo.h index ebfadf7cf72..5aa77d1ee76 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildinfo.h +++ b/src/plugins/qmakeprojectmanager/qmakebuildinfo.h @@ -54,7 +54,6 @@ public: && typeName == o.typeName && buildDirectory == o.buildDirectory && kitId == o.kitId - && supportsShadowBuild == o.supportsShadowBuild && type == o.type && additionalArguments == o.additionalArguments; } diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp index a131ab0e972..5f01755cf76 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp @@ -237,13 +237,6 @@ void QmakeProjectConfigWidget::updateProblemLabel() } } - QString shadowBuildWarning; - if (!version->supportsShadowBuilds() && m_buildConfiguration->isShadowBuild()) { - shadowBuildWarning = tr("The Qt version %1 does not support shadow builds, building might fail.") - .arg(version->displayName()) - + QLatin1String("
"); - } - if (allGood) { QString buildDirectory = m_buildConfiguration->target()->project()->projectDirectory().toString(); if (m_buildConfiguration->isShadowBuild()) @@ -252,8 +245,8 @@ void QmakeProjectConfigWidget::updateProblemLabel() issues = version->reportIssues(proFileName, buildDirectory); Utils::sort(issues); - if (!issues.isEmpty() || !shadowBuildWarning.isEmpty()) { - QString text = QLatin1String("") + shadowBuildWarning; + if (!issues.isEmpty()) { + QString text = QLatin1String(""); foreach (const ProjectExplorer::Task &task, issues) { QString type; switch (task.type) { @@ -277,18 +270,15 @@ void QmakeProjectConfigWidget::updateProblemLabel() return; } } else if (targetMismatch) { - setProblemLabel(shadowBuildWarning + tr("A build for a different project exists in %1, which will be overwritten.", - "%1 build directory") + setProblemLabel(tr("A build for a different project exists in %1, which will be overwritten.", + "%1 build directory") .arg(m_buildConfiguration->buildDirectory().toUserOutput())); return; } else if (incompatibleBuild) { - setProblemLabel(shadowBuildWarning +tr("An incompatible build exists in %1, which will be overwritten.", - "%1 build directory") + setProblemLabel(tr("An incompatible build exists in %1, which will be overwritten.", + "%1 build directory") .arg(m_buildConfiguration->buildDirectory().toUserOutput())); return; - } else if (!shadowBuildWarning.isEmpty()) { - setProblemLabel(shadowBuildWarning); - return; } setProblemLabel(QString()); diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index 6e190e2992b..76ae18bca09 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -159,9 +159,6 @@ QString QMakeStep::allArguments(bool shorted) QString args = QtcProcess::joinArgs(arguments); // User arguments QtcProcess::addArgs(&args, m_userArgs); - // moreArgumentsAfter - foreach (const QString &arg, deducedArgumentsAfter()) - QtcProcess::addArg(&args, arg); return args; } @@ -199,25 +196,6 @@ QStringList QMakeStep::deducedArguments() return arguments; } -/// -after OBJECTS_DIR, MOC_DIR, UI_DIR, RCC_DIR -QStringList QMakeStep::deducedArgumentsAfter() -{ - QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); - if (version && !version->supportsShadowBuilds()) { - // We have a target which does not allow shadow building. - // But we really don't want to have the build artefacts in the source dir - // so we try to hack around it, to make the common cases work. - // This is a HACK, remove once all make generators support - // shadow building - return QStringList() << QLatin1String("-after") - << QLatin1String("OBJECTS_DIR=obj") - << QLatin1String("MOC_DIR=moc") - << QLatin1String("UI_DIR=ui") - << QLatin1String("RCC_DIR=rcc"); - } - return QStringList(); -} - bool QMakeStep::init() { QmakeBuildConfiguration *qt4bc = qmakeBuildConfiguration(); diff --git a/src/plugins/qmakeprojectmanager/qmakestep.h b/src/plugins/qmakeprojectmanager/qmakestep.h index 25109a89a5f..6314533dbf1 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.h +++ b/src/plugins/qmakeprojectmanager/qmakestep.h @@ -102,8 +102,6 @@ public: QString allArguments(bool shorted = false); // deduced arguments e.g. qmljs debugging QStringList deducedArguments(); - // deduced arguments with -after, e.g. OBJECTS_DIR for symbian - QStringList deducedArgumentsAfter(); // arguments passed to the pro file parser QStringList parserArguments(); // arguments set by the user diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index f7ab0230d05..4e63381c514 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -1202,11 +1202,6 @@ void BaseQtVersion::recheckDumper() m_versionInfoUpToDate = false; } -bool BaseQtVersion::supportsShadowBuilds() const -{ - return true; -} - QList BaseQtVersion::reportIssuesImpl(const QString &proFile, const QString &buildDir) const { QList results; diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h index 87f385546ab..728466ab8a2 100644 --- a/src/plugins/qtsupport/baseqtversion.h +++ b/src/plugins/qtsupport/baseqtversion.h @@ -172,7 +172,6 @@ public: virtual QmakeBuildConfigs defaultBuildConfig() const; virtual void recheckDumper(); - virtual bool supportsShadowBuilds() const; /// Check a .pro-file/Qt version combination on possible issues /// @return a list of tasks, ordered on severity (errors first, then