diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 8f5d8385e522d1f546666fcd8cc3c90d1f1eb2fa..5326b27c9b4ea5a73df9751feae72d049abf81d9 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -35,31 +35,48 @@ #include "cmakeproject.h" #include "cmakeprojectconstants.h" +#include <coreplugin/documentmanager.h> #include <coreplugin/icore.h> #include <coreplugin/mimedatabase.h> + #include <projectexplorer/buildsteplist.h> #include <projectexplorer/kit.h> #include <projectexplorer/projectexplorerconstants.h> +#include <projectexplorer/projectmacroexpander.h> #include <projectexplorer/target.h> #include <utils/qtcassert.h> #include <QInputDialog> -using namespace CMakeProjectManager; -using namespace Internal; +using namespace ProjectExplorer; +using namespace Utils; + +namespace CMakeProjectManager { +namespace Internal { -namespace { const char USE_NINJA_KEY[] = "CMakeProjectManager.CMakeBuildConfiguration.UseNinja"; -} // namespace + +static QString shadowBuildDirectory(const QString &projectFilePath, const Kit *k, const QString &bcName) +{ + if (projectFilePath.isEmpty()) + return QString(); + QFileInfo info(projectFilePath); + + const QString projectName = QFileInfo(info.absolutePath()).fileName(); + ProjectMacroExpander expander(projectName, k, bcName); + QDir projectDir = QDir(Project::projectDirectory(FileName::fromString(projectFilePath)).toString()); + QString buildPath = expander.expand(Core::DocumentManager::buildDirectory()); + return QDir::cleanPath(projectDir.absoluteFilePath(buildPath)); +} CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent) : BuildConfiguration(parent, Core::Id(Constants::CMAKE_BC_ID)), m_useNinja(false) { CMakeProject *project = static_cast<CMakeProject *>(parent->project()); - setBuildDirectory(Utils::FileName::fromString(project->shadowBuildDirectory(project->projectFilePath().toString(), - parent->kit(), - displayName()))); + setBuildDirectory(Utils::FileName::fromString(shadowBuildDirectory(project->projectFilePath().toString(), + parent->kit(), + displayName()))); } CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent, @@ -156,9 +173,7 @@ QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableSet CMakeBuildInfo *info = createBuildInfo(k, ProjectExplorer::Project::projectDirectory(Utils::FileName::fromString(projectPath)).toString()); //: The name of the build configuration created by default for a cmake project. info->displayName = tr("Default"); - info->buildDirectory - = Utils::FileName::fromString(CMakeProject::shadowBuildDirectory(projectPath, k, - info->displayName)); + info->buildDirectory = FileName::fromString(shadowBuildDirectory(projectPath, k, info->displayName)); result << info; return result; } @@ -174,10 +189,9 @@ ProjectExplorer::BuildConfiguration *CMakeBuildConfigurationFactory::create(Proj CMakeProject *project = static_cast<CMakeProject *>(parent->project()); if (copy.buildDirectory.isEmpty()) - copy.buildDirectory - = Utils::FileName::fromString(project->shadowBuildDirectory(project->projectFilePath().toString(), - parent->kit(), - copy.displayName)); + copy.buildDirectory = FileName::fromString(shadowBuildDirectory(project->projectFilePath().toString(), + parent->kit(), + copy.displayName)); CMakeOpenProjectWizard copw(Core::ICore::mainWindow(), project->projectManager(), CMakeOpenProjectWizard::ChangeDirectory, ©); if (copw.exec() != QDialog::Accepted) @@ -295,3 +309,5 @@ ProjectExplorer::BuildConfiguration::BuildType CMakeBuildConfiguration::buildTyp return Unknown; } +} // namespace Internal +} // namespace CMakeProjectManager diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index ef0d75f94b05d20d1a8a25ecfdfc65886bb13d1f..f260b6a24c065d365551b019085c41ab19737ce5 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -49,7 +49,6 @@ #include <projectexplorer/target.h> #include <projectexplorer/deployconfiguration.h> #include <projectexplorer/deploymentdata.h> -#include <projectexplorer/projectmacroexpander.h> #include <qtsupport/customexecutablerunconfiguration.h> #include <qtsupport/baseqtversion.h> #include <qtsupport/qtkitinformation.h> @@ -62,7 +61,6 @@ #include <utils/hostosinfo.h> #include <coreplugin/icore.h> #include <coreplugin/infobar.h> -#include <coreplugin/documentmanager.h> #include <coreplugin/editormanager/editormanager.h> #include <QDebug> @@ -177,19 +175,6 @@ void CMakeProject::changeBuildDirectory(CMakeBuildConfiguration *bc, const QStri parseCMakeLists(); } -QString CMakeProject::shadowBuildDirectory(const QString &projectFilePath, const Kit *k, const QString &bcName) -{ - if (projectFilePath.isEmpty()) - return QString(); - QFileInfo info(projectFilePath); - - const QString projectName = QFileInfo(info.absolutePath()).fileName(); - ProjectExplorer::ProjectMacroExpander expander(projectFilePath, projectName, k, bcName); - QDir projectDir = QDir(projectDirectory(Utils::FileName::fromString(projectFilePath)).toString()); - QString buildPath = expander.expand(Core::DocumentManager::buildDirectory()); - return QDir::cleanPath(projectDir.absoluteFilePath(buildPath)); -} - QStringList CMakeProject::getCXXFlagsFor(const CMakeBuildTarget &buildTarget) { QString makeCommand = QDir::fromNativeSeparators(buildTarget.makeCommand); diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h index 80a232e948a39bf5e2fb441e31e1474c06152d50..cfb3d176a793659e463ed4cbaefe6733716f054f 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.h +++ b/src/plugins/cmakeprojectmanager/cmakeproject.h @@ -102,9 +102,6 @@ public: CMakeBuildTarget buildTargetForTitle(const QString &title); - static QString shadowBuildDirectory(const QString &projectFilePath, const ProjectExplorer::Kit *k, - const QString &bcName); - bool isProjectFile(const QString &fileName); bool parseCMakeLists(); diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index bc339d985436235844dd42653adc7efde4b51b9d..b48d21e7b3cc7d42a244051436e3380c95130d86 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -36,9 +36,9 @@ #include "target.h" #include "project.h" #include "kit.h" -#include "projectmacroexpander.h" #include <projectexplorer/buildenvironmentwidget.h> +#include <projectexplorer/projectmacroexpander.h> #include <extensionsystem/pluginmanager.h> #include <coreplugin/idocument.h> @@ -55,38 +55,6 @@ static const char USER_ENVIRONMENT_CHANGES_KEY[] = "ProjectExplorer.BuildConfigu static const char BUILDDIRECTORY_KEY[] = "ProjectExplorer.BuildConfiguration.BuildDirectory"; namespace ProjectExplorer { -namespace Internal { - -class BuildConfigMacroExpander : public ProjectMacroExpander -{ -public: - explicit BuildConfigMacroExpander(const BuildConfiguration *bc) - : ProjectMacroExpander(bc->target()->project()->document()->filePath(), - bc->target()->project()->displayName(), - bc->target()->kit(), - bc->displayName()), - m_bc(bc) - {} - virtual bool resolveMacro(const QString &name, QString *ret) const; -private: - const BuildConfiguration *m_bc; -}; - -bool BuildConfigMacroExpander::resolveMacro(const QString &name, QString *ret) const -{ - // legacy variables - if (name == QLatin1String("sourceDir")) { - *ret = m_bc->target()->project()->projectDirectory().toUserOutput(); - return true; - } - if (name == QLatin1String("buildDir")) { - *ret = m_bc->buildDirectory().toUserOutput(); - return true; - } - - return ProjectMacroExpander::resolveMacro(name, ret); -} -} // namespace Internal BuildConfiguration::BuildConfiguration(Target *target, Core::Id id) : ProjectConfiguration(target, id), @@ -157,8 +125,21 @@ QList<NamedWidget *> BuildConfiguration::createSubConfigWidgets() Utils::MacroExpander *BuildConfiguration::macroExpander() { - if (!m_macroExpander) - m_macroExpander = new Internal::BuildConfigMacroExpander(this); + if (!m_macroExpander) { + m_macroExpander = new ProjectMacroExpander(target()->project()->displayName(), + target()->kit(), displayName()); + + m_macroExpander->registerSubProvider( + [this]() { return target()->kit()->macroExpander(); }); + + // Legacy support. + m_macroExpander->registerVariable("sourceDir", tr("Source directory"), + [this]() { return target()->project()->projectDirectory().toUserOutput(); }); + + m_macroExpander->registerVariable("buildDir", tr("Build directory"), + [this]() { return buildDirectory().toUserOutput(); }); + } + return m_macroExpander; } diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index e5ade6852b2cf2279bc4036e7d712b3bc4ffa07b..aa1c75f4286acf646e9901a0440f150a807a604a 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -41,7 +41,6 @@ #include "jsonwizard/jsonwizardpagefactory_p.h" #include "project.h" #include "projectexplorersettings.h" -#include "projectmacroexpander.h" #include "removetaskhandler.h" #include "unconfiguredprojectpanel.h" #include "kitfeatureprovider.h" diff --git a/src/plugins/projectexplorer/projectmacroexpander.cpp b/src/plugins/projectexplorer/projectmacroexpander.cpp index bddd625062237f328b102db36063c3dcc568cbca..4a521b15fc935511cf3c66841679d2f4fa230209 100644 --- a/src/plugins/projectexplorer/projectmacroexpander.cpp +++ b/src/plugins/projectexplorer/projectmacroexpander.cpp @@ -38,9 +38,9 @@ using namespace ProjectExplorer; -ProjectMacroExpander::ProjectMacroExpander(const QString &projectFilePath, const QString &projectName, - const Kit *k, const QString &bcName) - : m_projectFile(projectFilePath), m_projectName(projectName), m_kit(k), m_bcName(bcName) +ProjectMacroExpander::ProjectMacroExpander(const QString &projectName, + const Kit *k, const QString &bcName) + : m_projectName(projectName), m_kit(k), m_bcName(bcName) { } bool ProjectMacroExpander::resolveMacro(const QString &name, QString *ret) const diff --git a/src/plugins/projectexplorer/projectmacroexpander.h b/src/plugins/projectexplorer/projectmacroexpander.h index 365e9d2fa819baccde71664bbfb7b46b974bd1ff..b33df8eda197657caa1791c63eb6f0c32e26abce 100644 --- a/src/plugins/projectexplorer/projectmacroexpander.h +++ b/src/plugins/projectexplorer/projectmacroexpander.h @@ -41,7 +41,7 @@ class Kit; class PROJECTEXPLORER_EXPORT ProjectMacroExpander : public Utils::MacroExpander { public: - ProjectMacroExpander(const QString &projectFilePath, const QString &projectName, const Kit *k, const QString &bcName); + ProjectMacroExpander(const QString &projectName, const Kit *k, const QString &bcName); bool resolveMacro(const QString &name, QString *ret) const; private: diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index dc55efcd43b88a7a36857b39ec1336cf73588412..b06731e3e9018b288abdf0a0dfd8c229197e523b 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -37,6 +37,7 @@ #include "qbsproject.h" #include "qbsprojectmanagerconstants.h" +#include <coreplugin/documentmanager.h> #include <coreplugin/icore.h> #include <coreplugin/mimedatabase.h> #include <utils/qtcassert.h> @@ -44,6 +45,7 @@ #include <projectexplorer/kit.h> #include <projectexplorer/kitinformation.h> #include <projectexplorer/projectexplorerconstants.h> +#include <projectexplorer/projectmacroexpander.h> #include <projectexplorer/target.h> #include <projectexplorer/toolchain.h> @@ -275,6 +277,16 @@ int QbsBuildConfigurationFactory::priority(const Kit *k, const QString &projectP .matchesType(QLatin1String(Constants::MIME_TYPE))) ? 0 : -1; } +static Utils::FileName defaultBuildDirectory(const QString &projectFilePath, const Kit *k, + const QString &bcName) +{ + const QString projectName = QFileInfo(projectFilePath).completeBaseName(); + ProjectMacroExpander expander(projectName, k, bcName); + QString projectDir = Project::projectDirectory(Utils::FileName::fromString(projectFilePath)).toString(); + QString buildPath = expander.expand(Core::DocumentManager::buildDirectory()); + return Utils::FileName::fromString(Utils::FileUtils::resolvePath(projectDir, buildPath)); +} + QList<BuildInfo *> QbsBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const { QList<BuildInfo *> result; @@ -282,13 +294,13 @@ QList<BuildInfo *> QbsBuildConfigurationFactory::availableSetups(const Kit *k, c BuildInfo *info = createBuildInfo(k, BuildConfiguration::Debug); //: The name of the debug build configuration created by default for a qbs project. info->displayName = tr("Debug"); - info->buildDirectory = QbsProject::defaultBuildDirectory(projectPath, k, info->displayName); + info->buildDirectory = defaultBuildDirectory(projectPath, k, info->displayName); result << info; info = createBuildInfo(k, BuildConfiguration::Release); //: The name of the release build configuration created by default for a qbs project. info->displayName = tr("Release"); - info->buildDirectory = QbsProject::defaultBuildDirectory(projectPath, k, info->displayName); + info->buildDirectory = defaultBuildDirectory(projectPath, k, info->displayName); result << info; return result; @@ -310,8 +322,8 @@ BuildConfiguration *QbsBuildConfigurationFactory::create(Target *parent, const B Utils::FileName buildDir = info->buildDirectory; if (buildDir.isEmpty()) - buildDir = QbsProject::defaultBuildDirectory(parent->project()->projectDirectory().toString(), - parent->kit(), info->displayName); + buildDir = defaultBuildDirectory(parent->project()->projectDirectory().toString(), + parent->kit(), info->displayName); BuildConfiguration *bc = QbsBuildConfiguration::setup(parent, info->displayName, info->displayName, diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 4399fa29c4bf12466513962afdebe65a143ebffd..ae4592b78912f4843fc8e3d03624589ed2b6ea2a 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -55,7 +55,6 @@ #include <projectexplorer/kitinformation.h> #include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorerconstants.h> -#include <projectexplorer/projectmacroexpander.h> #include <projectexplorer/target.h> #include <projectexplorer/taskhub.h> #include <projectexplorer/toolchain.h> @@ -397,16 +396,6 @@ bool QbsProject::hasParseResult() const return qbsProject().isValid(); } -Utils::FileName QbsProject::defaultBuildDirectory(const QString &projectFilePath, const Kit *k, - const QString &bcName) -{ - const QString projectName = QFileInfo(projectFilePath).completeBaseName(); - ProjectExplorer::ProjectMacroExpander expander(projectFilePath, projectName, k, bcName); - QString projectDir = projectDirectory(Utils::FileName::fromString(projectFilePath)).toString(); - QString buildPath = expander.expand(Core::DocumentManager::buildDirectory()); - return Utils::FileName::fromString(Utils::FileUtils::resolvePath(projectDir, buildPath)); -} - qbs::Project QbsProject::qbsProject() const { return m_qbsProject; diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h index 902f80c9417620d43db460d059c78da0d8f621ff..2d77c8e77f00c2a6ca248642ddc62e54aaae1b93 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.h +++ b/src/plugins/qbsprojectmanager/qbsproject.h @@ -99,10 +99,6 @@ public: void registerQbsProjectParser(QbsProjectParser *p); - static Utils::FileName defaultBuildDirectory(const QString &projectFilePath, - const ProjectExplorer::Kit *k, - const QString &bcName); - qbs::Project qbsProject() const; qbs::ProjectData qbsProjectData() const; diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index 26ef059cb685a80e9b9f263bdfee9d2352159ea7..83063dc2282b30dfba63da122e2696af75ff186d 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -39,45 +39,67 @@ #include "qmakestep.h" #include "makestep.h" -#include <utils/qtcprocess.h> -#include <utils/qtcassert.h> -#include <limits> +#include <coreplugin/documentmanager.h> #include <coreplugin/icore.h> #include <coreplugin/mimedatabase.h> + #include <projectexplorer/buildsteplist.h> +#include <projectexplorer/kit.h> #include <projectexplorer/projectexplorerconstants.h> +#include <projectexplorer/projectmacroexpander.h> #include <projectexplorer/target.h> #include <projectexplorer/toolchain.h> #include <projectexplorer/toolchainmanager.h> #include <qtsupport/qtkitinformation.h> #include <qtsupport/qtversionmanager.h> #include <utils/qtcassert.h> -#include <QDebug> +#include <utils/qtcprocess.h> +#include <utils/qtcassert.h> #include <android/androidmanager.h> +#include <QDebug> #include <QInputDialog> +#include <limits> + +using namespace ProjectExplorer; +using namespace QtSupport; +using namespace Utils; +using namespace QmakeProjectManager::Internal; + namespace QmakeProjectManager { // -------------------------------------------------------------------- // Helpers: // -------------------------------------------------------------------- +QString QmakeBuildConfiguration::shadowBuildDirectory(const QString &proFilePath, const Kit *k, const QString &suffix) +{ + 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); + QString projectDir = Project::projectDirectory(FileName::fromString(proFilePath)).toString(); + QString buildPath = expander.expand(Core::DocumentManager::buildDirectory()); + return FileUtils::resolvePath(projectDir, buildPath); +} + static Utils::FileName defaultBuildDirectory(bool supportsShadowBuild, const QString &projectPath, const ProjectExplorer::Kit *k, const QString &suffix) { if (supportsShadowBuild) - return Utils::FileName::fromString(QmakeProject::shadowBuildDirectory(projectPath, k, suffix)); + return Utils::FileName::fromString(QmakeBuildConfiguration::shadowBuildDirectory(projectPath, k, suffix)); return ProjectExplorer::Project::projectDirectory(Utils::FileName::fromString(projectPath)); } -using namespace Internal; -using namespace ProjectExplorer; -using namespace QtSupport; -using namespace Utils; - const char QMAKE_BC_ID[] = "Qt4ProjectManager.Qt4BuildConfiguration"; const char USE_SHADOW_BUILD_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild"; const char BUILD_CONFIGURATION_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration"; @@ -201,8 +223,8 @@ NamedWidget *QmakeBuildConfiguration::createConfigWidget() QString QmakeBuildConfiguration::defaultShadowBuildDirectory() const { // todo displayName isn't ideal - return QmakeProject::shadowBuildDirectory(target()->project()->projectFilePath().toString(), - target()->kit(), displayName()); + return shadowBuildDirectory(target()->project()->projectFilePath().toString(), + target()->kit(), displayName()); } bool QmakeBuildConfiguration::supportsShadowBuilds() diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h index 549d9d8c2e584265f9e360ceaaff56445cd5c3cc..3bb8758b49cb53106993a77fa28034d54b99e174 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h @@ -68,6 +68,10 @@ public: QtSupport::BaseQtVersion::QmakeBuildConfigs qmakeBuildConfiguration() const; void setQMakeBuildConfiguration(QtSupport::BaseQtVersion::QmakeBuildConfigs config); + /// suffix should be unique + static QString shadowBuildDirectory(const QString &profilePath, const ProjectExplorer::Kit *k, + const QString &suffix); + /// \internal for qmakestep // used by qmake step to notify that the qmake args have changed // not really nice, the build configuration should save the arguments diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index c1de09cf08fe23982da6d081008bd812704485fc..945a8d814dc23cd643b28c54f88d44ee20dd47a1 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -45,7 +45,6 @@ #include <coreplugin/icontext.h> #include <coreplugin/icore.h> #include <coreplugin/progressmanager/progressmanager.h> -#include <coreplugin/documentmanager.h> #include <cpptools/cppmodelmanager.h> #include <qmljs/qmljsmodelmanagerinterface.h> #include <projectexplorer/buildmanager.h> @@ -55,7 +54,6 @@ #include <projectexplorer/headerpath.h> #include <projectexplorer/target.h> #include <projectexplorer/projectexplorer.h> -#include <projectexplorer/projectmacroexpander.h> #include <proparser/qmakevfs.h> #include <qtsupport/profilereader.h> #include <qtsupport/qtkitinformation.h> @@ -1442,23 +1440,6 @@ QString QmakeProject::disabledReasonForRunConfiguration(const QString &proFilePa .arg(QFileInfo(proFilePath).fileName()); } -QString QmakeProject::shadowBuildDirectory(const QString &proFilePath, const Kit *k, const QString &suffix) -{ - if (proFilePath.isEmpty()) - return QString(); - QFileInfo info(proFilePath); - - QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(k); - if (version && !version->supportsShadowBuilds()) - return info.absolutePath(); - - const QString projectName = QFileInfo(proFilePath).completeBaseName(); - ProjectExplorer::ProjectMacroExpander expander(proFilePath, projectName, k, suffix); - QString projectDir = projectDirectory(Utils::FileName::fromString(proFilePath)).toString(); - QString buildPath = expander.expand(Core::DocumentManager::buildDirectory()); - return Utils::FileUtils::resolvePath(projectDir, buildPath); -} - QString QmakeProject::buildNameFor(const Kit *k) { if (!k) diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h index 7eafa30decb1aa1c32d1aa5e14f28c0889143348..2e0892a1aa6041216639f601f87945dbf695d351 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.h +++ b/src/plugins/qmakeprojectmanager/qmakeproject.h @@ -132,9 +132,6 @@ public: /// \internal QString disabledReasonForRunConfiguration(const QString &proFilePath); - /// suffix should be unique - static QString shadowBuildDirectory(const QString &profilePath, const ProjectExplorer::Kit *k, - const QString &suffix); /// used by the default implementation of shadowBuildDirectory static QString buildNameFor(const ProjectExplorer::Kit *k); diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp index 4a32497ba021e24c17af61068bc78df0df5a82ad..dbaaca1812c44f73c9a73589cbe015bbc34cccad 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeprojectconfigwidget.cpp @@ -51,9 +51,9 @@ QmakeProjectConfigWidget::QmakeProjectConfigWidget(QmakeBuildConfiguration *bc) m_ignoreChange(false) { m_defaultShadowBuildDir - = QmakeProject::shadowBuildDirectory(bc->target()->project()->projectFilePath().toString(), - bc->target()->kit(), - Utils::FileUtils::qmakeFriendlyName(bc->displayName())); + = QmakeBuildConfiguration::shadowBuildDirectory(bc->target()->project()->projectFilePath().toString(), + bc->target()->kit(), + Utils::FileUtils::qmakeFriendlyName(bc->displayName())); QVBoxLayout *vbox = new QVBoxLayout(this); vbox->setMargin(0); diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp index 5417f95b2ceb4a721c27e4461aefe59ea9efea3d..6b846b401e824977c36276121eb230acdc873d1c 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp @@ -213,7 +213,7 @@ QStringList QmakeProjectImporter::importCandidates(const Utils::FileName &projec QList<ProjectExplorer::Kit *> kitList = ProjectExplorer::KitManager::kits(); foreach (ProjectExplorer::Kit *k, kitList) { - QFileInfo fi(QmakeProject::shadowBuildDirectory(projectPath.toString(), k, QString())); + QFileInfo fi(QmakeBuildConfiguration::shadowBuildDirectory(projectPath.toString(), k, QString())); const QString baseDir = fi.absolutePath(); foreach (const QString &dir, QDir(baseDir).entryList()) {