CMake: Move notification on outside cmake runs into FileApiReader

Move the detection of outside cmake runs into FileApiReader and
make the FileApiParser non-interactive.

Change-Id: I70afc1df35fcfe90e88822569579154aabbdb1cd
Fixes: QTCREATORBUG-24015
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Tobias Hunger
2020-05-13 12:59:23 +02:00
parent 517cb05db0
commit 7c985c14ad
4 changed files with 42 additions and 61 deletions

View File

@@ -241,16 +241,9 @@ public:
std::vector<FileApiDetails::TargetDetails> targetDetails;
};
class FileApiParser final : public QObject
class FileApiParser
{
Q_OBJECT
public:
FileApiParser(const Utils::FilePath &buildDirectory);
~FileApiParser() final;
void setParsedReplyFilePath(const QString &filePath);
static FileApiData parseData(const QFileInfo &replyFileInfo, QString &errorMessage);
static bool setupCMakeFileApi(const Utils::FilePath &buildDirectory,
@@ -259,16 +252,6 @@ public:
static QStringList cmakeQueryFilePaths(const Utils::FilePath &buildDirectory);
static QFileInfo scanForCMakeReplyFile(const Utils::FilePath &buildDirectory);
signals:
void dirty() const;
private:
Utils::FilePath m_buildDirectory;
void replyDirectoryHasChanged(const QString &directory) const;
Utils::FileSystemWatcher m_watcher;
QString m_lastParsedReplyFile;
};
} // namespace Internal