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