aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmakeprojectmanager/qmakeproject.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmakeprojectmanager/qmakeproject.h')
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.h25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h
index 9cd8902dbb..93044db96b 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.h
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.h
@@ -26,16 +26,16 @@
#pragma once
#include "qmakeprojectmanager_global.h"
-#include "qmakeprojectmanager.h"
+
#include "qmakenodes.h"
#include "qmakeparsernodes.h"
#include <projectexplorer/deploymentdata.h>
#include <projectexplorer/project.h>
+#include <projectexplorer/toolchain.h>
#include <QStringList>
#include <QFutureInterface>
-#include <QTimer>
#include <QFuture>
QT_BEGIN_NAMESPACE
@@ -49,6 +49,8 @@ namespace QtSupport { class ProFileReader; }
namespace QmakeProjectManager {
+class QmakeBuildConfiguration;
+
namespace Internal { class CentralizedFolderWatcher; }
class QMAKEPROJECTMANAGER_EXPORT QmakeProject final : public ProjectExplorer::Project
@@ -61,7 +63,7 @@ public:
ProjectExplorer::Tasks projectIssues(const ProjectExplorer::Kit *k) const final;
- void configureAsExampleProject() final;
+ void configureAsExampleProject(ProjectExplorer::Kit *kit) final;
ProjectExplorer::ProjectImporter *projectImporter() const final;
@@ -105,7 +107,7 @@ public:
void triggerParsing() final;
QStringList filesGeneratedFrom(const QString &file) const final;
- QVariant additionalData(Core::Id id) const final;
+ QVariant additionalData(Utils::Id id) const final;
void asyncUpdate();
void buildFinished(bool success);
@@ -166,10 +168,19 @@ public:
void notifyChanged(const Utils::FilePath &name);
-public:
+ enum Action { BUILD, REBUILD, CLEAN };
+ void buildHelper(Action action, bool isFileBuild,
+ QmakeProFileNode *profile,
+ ProjectExplorer::FileNode *buildableFile);
+
+ Utils::FilePath buildDir(const Utils::FilePath &proFilePath) const;
+ QmakeBuildConfiguration *qmakeBuildConfiguration() const;
+
+ void scheduleUpdateAllNowOrLater();
+
+private:
void scheduleUpdateAll(QmakeProFile::AsyncUpdateDelay delay);
void scheduleUpdateAllLater() { scheduleUpdateAll(QmakeProFile::ParseLater); }
- void scheduleUpdateAllNowOrLater();
mutable QSet<const QPair<Utils::FilePath, Utils::FilePath>> m_toolChainWarnings;
@@ -188,7 +199,6 @@ public:
QString m_qmakeSysroot;
- QTimer m_asyncUpdateTimer;
QFutureInterface<void> m_asyncUpdateFutureInterface;
int m_pendingEvaluateFuturesCount = 0;
AsyncUpdateState m_asyncUpdateState = Base;
@@ -200,7 +210,6 @@ public:
Internal::CentralizedFolderWatcher *m_centralizedFolderWatcher = nullptr;
ProjectExplorer::BuildSystem::ParseGuard m_guard;
- QmakeBuildConfiguration *m_buildConfiguration = nullptr;
bool m_firstParseNeeded = true;
};