diff options
author | Daniel Teske <daniel.teske@digia.com> | 2013-01-17 15:03:41 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@digia.com> | 2013-01-17 16:54:31 +0100 |
commit | 4fd25854de521560d41bf3cb123dd3fd2b36a6a8 (patch) | |
tree | d371b01e071e72b23dd62c0ddd94f016c2eea3e3 /src/plugins/qt4projectmanager/qt4project.cpp | |
parent | c709dcd3294062bb44ba1e77b3e4719e22bf73f8 (diff) |
Move QtProjectExpander to ProjectExplorer
The cmake plugin needs the class, too. Also add a explicit projectName
parameter to it, since it differs how to extract that from the path.
Change-Id: Ic3d37b3a12ad73f3c7f898d27ad0e85629c38839
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/qt4projectmanager/qt4project.cpp')
-rw-r--r-- | src/plugins/qt4projectmanager/qt4project.cpp | 50 |
1 files changed, 3 insertions, 47 deletions
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 71427534db..208af8daf5 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -59,6 +59,7 @@ #include <projectexplorer/kitinformation.h> #include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorerconstants.h> +#include <projectexplorer/projectmacroexpander.h> #include <utils/qtcassert.h> #include <qtsupport/customexecutablerunconfiguration.h> #include <qtsupport/qmldumptool.h> @@ -99,52 +100,6 @@ Qt4BuildConfiguration *enableActiveQt4BuildConfiguration(ProjectExplorer::Target return bc; } -class Qt4ProjectExpander : public Utils::AbstractQtcMacroExpander -{ -public: - Qt4ProjectExpander(const QString &proFilePath, const Kit *k, const QString &bcName) : - m_proFile(proFilePath), m_kit(k), m_bcName(bcName) - { } - - bool resolveMacro(const QString &name, QString *ret) - { - QString result; - bool found = false; - if (name == QLatin1String(ProjectExplorer::Constants::VAR_CURRENTPROJECT_NAME)) { - result = m_proFile.baseName(); - found = true; - } else if (name == QLatin1String(ProjectExplorer::Constants::VAR_CURRENTPROJECT_PATH)) { - result = m_proFile.absolutePath(); - found = true; - } else if (name == QLatin1String(ProjectExplorer::Constants::VAR_CURRENTPROJECT_FILEPATH)) { - result = m_proFile.absoluteFilePath(); - found = true; - } else if (m_kit && name == QLatin1String(ProjectExplorer::Constants::VAR_CURRENTKIT_NAME)) { - result = m_kit->displayName(); - found = true; - } else if (m_kit && name == QLatin1String(ProjectExplorer::Constants::VAR_CURRENTKIT_FILESYSTEMNAME)) { - result = m_kit->fileSystemFriendlyName(); - found = true; - } else if (m_kit && name == QLatin1String(ProjectExplorer::Constants::VAR_CURRENTKIT_ID)) { - result = m_kit->id().toString(); - found = true; - } else if (name == QLatin1String(ProjectExplorer::Constants::VAR_CURRENTBUILD_NAME)) { - result = m_bcName; - found = true; - } else { - result = Core::VariableManager::instance()->value(name.toUtf8(), &found); - } - if (ret) - *ret = result; - return found; - } - -private: - QFileInfo m_proFile; - const Kit *m_kit; - QString m_bcName; -}; - } // namespace namespace Qt4ProjectManager { @@ -1450,7 +1405,8 @@ QString Qt4Project::shadowBuildDirectory(const QString &proFilePath, const Kit * if (version && !version->supportsShadowBuilds()) return info.absolutePath(); - Qt4ProjectExpander expander(proFilePath, k, suffix); + const QString projectName = QFileInfo(proFilePath).completeBaseName(); + ProjectExplorer::ProjectExpander expander(proFilePath, projectName, k, suffix); QDir projectDir = QDir(projectDirectory(proFilePath)); QString buildPath = Utils::expandMacros(Core::DocumentManager::buildDirectory(), &expander); return QDir::cleanPath(projectDir.absoluteFilePath(buildPath)); |