forked from qt-creator/qt-creator
ProjectExplorer: Add BuildSystem class
Add a class to abstract out the BuildSystem from the Project. Thie idea is to make a Project have-a BuildSystem, so that it can stop being one. The Projects in the different ProjectManagers will get much simpler that way (and many will only consist of a constructor with some setter calls) and handles all the interactions between the rest of Qt Creator and the project. The complex code to interact with the build systems is then separate from that. Change-Id: I3bbb000bb1aed91f0b547ac493f743ede8afb8cd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -32,10 +32,8 @@
|
||||
#include "cmakebuildtarget.h"
|
||||
#include "cmakeprojectimporter.h"
|
||||
|
||||
#include <projectexplorer/extracompiler.h>
|
||||
#include <projectexplorer/buildsystem.h>
|
||||
#include <projectexplorer/project.h>
|
||||
#include <projectexplorer/projectmacro.h>
|
||||
#include <projectexplorer/treescanner.h>
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
@@ -50,8 +48,6 @@ namespace ProjectExplorer { class FileNode; }
|
||||
|
||||
namespace CMakeProjectManager {
|
||||
|
||||
class BuildSystem;
|
||||
|
||||
namespace Internal {
|
||||
class CMakeBuildConfiguration;
|
||||
class CMakeBuildSettingsWidget;
|
||||
@@ -66,8 +62,6 @@ public:
|
||||
explicit CMakeProject(const Utils::FilePath &filename);
|
||||
~CMakeProject() final;
|
||||
|
||||
BuildSystem *buildSystem() const { return m_buildsystem.get(); }
|
||||
|
||||
ProjectExplorer::Tasks projectIssues(const ProjectExplorer::Kit *k) const final;
|
||||
|
||||
void runCMake();
|
||||
@@ -94,11 +88,6 @@ private:
|
||||
|
||||
mutable std::unique_ptr<Internal::CMakeProjectImporter> m_projectImporter;
|
||||
|
||||
std::unique_ptr<CMakeBuildSystem> m_buildsystem;
|
||||
|
||||
// friend class Internal::CMakeBuildConfiguration;
|
||||
// friend class Internal::CMakeBuildSettingsWidget;
|
||||
|
||||
friend class CMakeBuildSystem;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user