CMake: Scan cmake tree for files

CMake is pretty poor with the data on which files are contained in a project.
Run a filesystem scan of the project directory to find more files.

Change-Id: I9cc3293a9faf9a967efa5f586c144c3e7773588b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2016-10-28 17:20:07 +02:00
committed by Tim Jenssen
parent 4c3885a584
commit c286d16c00
2 changed files with 70 additions and 1 deletions

View File

@@ -30,6 +30,7 @@
#include <utils/fileutils.h>
#include <QFutureWatcher>
#include <QObject>
#include <QTemporaryDir>
#include <QTimer>
@@ -89,6 +90,7 @@ protected:
const Utils::FileName workDirectory() const;
private:
void emitDataAvailable();
void checkConfiguration();
void updateReaderType(std::function<void()> todo);
@@ -101,6 +103,8 @@ private:
void becameDirty();
void asyncScanForFiles(QFutureInterface<QList<ProjectExplorer::FileNode*>> &fi);
CMakeBuildConfiguration *m_buildConfiguration = nullptr;
mutable std::unique_ptr<QTemporaryDir> m_tempDir = nullptr;
mutable CMakeConfig m_cmakeCache;
@@ -108,6 +112,8 @@ private:
QTimer m_reparseTimer;
std::unique_ptr<BuildDirReader> m_reader;
std::unique_ptr<QFutureInterface<QList<ProjectExplorer::FileNode*>>> m_futureInterface;
QFutureWatcher<QList<ProjectExplorer::FileNode*>> m_futureWatcher;
};
} // namespace Internal