diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp index a312a78baca..1f19b76a9ed 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp @@ -25,14 +25,12 @@ #include "qmakenodes.h" #include "qmakeproject.h" -#include "qmakebuildconfiguration.h" #include "qmakerunconfigurationfactory.h" +#include #include -#include #include -#include #include using namespace ProjectExplorer; @@ -259,15 +257,16 @@ QString QmakeProFileNode::singleVariableValue(const Variable var) const return values.isEmpty() ? QString() : values.first(); } -QString QmakeProFileNode::buildDir(QmakeBuildConfiguration *bc) const +QString QmakeProFileNode::buildDir() const { - const QDir srcDirRoot(m_project->projectDirectory().toString()); - const QString relativeDir = srcDirRoot.relativeFilePath(filePath().parentDir().toString()); - if (!bc && m_project->activeTarget()) - bc = static_cast(m_project->activeTarget()->activeBuildConfiguration()); - if (!bc) - return QString(); - return QDir::cleanPath(QDir(bc->buildDirectory().toString()).absoluteFilePath(relativeDir)); + if (Target *target = m_project->activeTarget()) { + if (BuildConfiguration *bc = target->activeBuildConfiguration()) { + const QDir srcDirRoot(m_project->projectDirectory().toString()); + const QString relativeDir = srcDirRoot.relativeFilePath(filePath().parentDir().toString()); + return QDir::cleanPath(QDir(bc->buildDirectory().toString()).absoluteFilePath(relativeDir)); + } + } + return QString(); } } // namespace QmakeProjectManager diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.h b/src/plugins/qmakeprojectmanager/qmakenodes.h index c3c6ff1a8a6..67878b23570 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.h +++ b/src/plugins/qmakeprojectmanager/qmakenodes.h @@ -30,22 +30,13 @@ #include -#include -#include - namespace Utils { class FileName; } namespace ProjectExplorer { class RunConfiguration; } namespace QmakeProjectManager { -class QmakeBuildConfiguration; class QmakeProFileNode; class QmakeProject; -namespace Internal { -struct InternalNode; -class PriFileEvalResult; -} // namespace Internal - // Implements ProjectNode for qmake .pri files class QMAKEPROJECTMANAGER_EXPORT QmakePriFileNode : public ProjectExplorer::ProjectNode { @@ -97,12 +88,11 @@ public: AddNewInformation addNewInformation(const QStringList &files, Node *context) const override; QmakeProjectManager::ProjectType projectType() const; + QString buildDir() const; QStringList variableValue(const Variable var) const; QString singleVariableValue(const Variable var) const; - QString buildDir(QmakeBuildConfiguration *bc = nullptr) const; - QmakeProFileNode *findProFileFor(const Utils::FileName &string) const; bool showInSimpleTree(ProjectType projectType) const;