CMake: Move code from CMakeProject into CMakeBuildSystem

Introduce BuildSystem to implement functionality common to all
build systems out there. This includes things like delaying the
parsing by 1s.

The actual CMake specific code is then moved into a derived
class CMakeBuildSystem.

Change-Id: I84f4344430f19a44e16534db294382c436169ed5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Tobias Hunger
2019-08-06 12:41:46 +02:00
parent fcffb5f2fc
commit d115276b34
11 changed files with 718 additions and 422 deletions

View File

@@ -36,6 +36,7 @@
#include <projectexplorer/deploymentdata.h>
namespace CMakeProjectManager {
class CMakeBuildSystem;
class CMakeExtraBuildInfo;
class CMakeProject;
@@ -106,6 +107,7 @@ private:
void setWarning(const QString &message);
void handleParsingSucceeded();
void handleParsingFailed(const QString &msg);
std::unique_ptr<CMakeProjectNode> generateProjectTree(
const QList<const ProjectExplorer::FileNode *> &allFiles);
@@ -123,6 +125,7 @@ private:
QList<CMakeBuildTarget> m_buildTargets;
friend class CMakeBuildSettingsWidget;
friend class CMakeProjectManager::CMakeBuildSystem;
friend class CMakeProjectManager::CMakeProject;
friend class BuildDirManager;
};