forked from qt-creator/qt-creator
CMake: Move code from CMakeProject into BuildDirManager
This is in preparation for having support for cmake's server mode. Change-Id: I6cc04fe7c5132c491c3f3c0f46560b8ad88808e8 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
|
||||
#include "cmakecbpparser.h"
|
||||
#include "cmakeconfigitem.h"
|
||||
#include "cmakefile.h"
|
||||
|
||||
#include <projectexplorer/task.h>
|
||||
|
||||
@@ -66,15 +67,8 @@ public:
|
||||
BuildDirManager(CMakeBuildConfiguration *bc);
|
||||
~BuildDirManager() override;
|
||||
|
||||
const ProjectExplorer::Kit *kit() const;
|
||||
const Utils::FileName buildDirectory() const;
|
||||
const Utils::FileName workDirectory() const;
|
||||
const Utils::FileName sourceDirectory() const;
|
||||
const CMakeConfig intendedConfiguration() const;
|
||||
bool isParsing() const;
|
||||
|
||||
void cmakeFilesChanged();
|
||||
|
||||
void parse();
|
||||
void clearCache();
|
||||
void forceReparse();
|
||||
@@ -82,24 +76,33 @@ public:
|
||||
void resetData();
|
||||
bool persistCMakeState();
|
||||
|
||||
QString projectName() const;
|
||||
void generateProjectTree(CMakeProjectNode *root);
|
||||
|
||||
QList<CMakeBuildTarget> buildTargets() const;
|
||||
QList<ProjectExplorer::FileNode *> files();
|
||||
QSet<Utils::FileName> cmakeFiles();
|
||||
void clearFiles();
|
||||
CMakeConfig parsedConfiguration() const;
|
||||
|
||||
void checkConfiguration();
|
||||
|
||||
static CMakeConfig parseConfiguration(const Utils::FileName &cacheFile,
|
||||
QString *errorMessage);
|
||||
void handleCmakeFileChange();
|
||||
|
||||
signals:
|
||||
void configurationStarted() const;
|
||||
void dataAvailable() const;
|
||||
void errorOccured(const QString &err) const;
|
||||
|
||||
protected:
|
||||
static CMakeConfig parseConfiguration(const Utils::FileName &cacheFile,
|
||||
QString *errorMessage);
|
||||
|
||||
const ProjectExplorer::Kit *kit() const;
|
||||
const Utils::FileName buildDirectory() const;
|
||||
const Utils::FileName workDirectory() const;
|
||||
const Utils::FileName sourceDirectory() const;
|
||||
const CMakeConfig intendedConfiguration() const;
|
||||
|
||||
private:
|
||||
void cmakeFilesChanged();
|
||||
|
||||
void stopProcess();
|
||||
void cleanUpProcess();
|
||||
void extractData();
|
||||
@@ -127,6 +130,8 @@ private:
|
||||
QFutureInterface<void> *m_future = nullptr;
|
||||
|
||||
QTimer m_reparseTimer;
|
||||
|
||||
QSet<Internal::CMakeFile *> m_watchedFiles;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user