aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmakeprojectmanager/qmakeparsernodes.h
diff options
context:
space:
mode:
authorhjk <[email protected]>2022-11-30 16:39:21 +0100
committerhjk <[email protected]>2023-01-10 12:02:23 +0000
commitc7884a2b171470fb7f8821be7ed6a46a2db3d851 (patch)
tree9dcb00bf7042cc68f0af5cc17d19690261925484 /src/plugins/qmakeprojectmanager/qmakeparsernodes.h
parent0a0dd9ea31d03fcc57f51de724c32e8ca3fe3d3f (diff)
Qmake: Enhance remote parsing
When parsing remote .pro files the parsers needs to pretend it runs on the remote device. All internal data are now "local on the remote", so that string manipulation in .pro files "just works", and a 'device root' string is passed around to relevant functions which then use it to construct FilePath::toFSPathString()-style paths that our custom FSEngineImpl can then map to the real device. Remote $$system() calls are intercepted by the local parser and redirected using the usual QtcProcess mechanims. Quite a bit of the ProParser needed adjustments, so there's some potential for regression. Task-number: QTCREATORBUG-28242 Task-number: QTCREATORBUG-28161 Task-number: QTCREATORBUG-28355 Change-Id: I6100e7aca4e1db35f5e9689004110aab57e2c595 Reviewed-by: hjk <[email protected]> Reviewed-by: Christian Stenger <[email protected]> Reviewed-by: Christian Kandeler <[email protected]>
Diffstat (limited to 'src/plugins/qmakeprojectmanager/qmakeparsernodes.h')
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeparsernodes.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.h b/src/plugins/qmakeprojectmanager/qmakeparsernodes.h
index 81ee3ff05cc..86a3a97b49f 100644
--- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.h
+++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.h
@@ -115,8 +115,10 @@ public:
virtual ~QmakePriFile();
void finishInitialization(QmakeBuildSystem *buildSystem, QmakeProFile *qmakeProFile);
- Utils::FilePath filePath() const;
+
+ const Utils::FilePath &filePath() const { return m_filePath; }
Utils::FilePath directoryPath() const;
+ QString deviceRoot() const;
virtual QString displayName() const;
QmakePriFile *parent() const;
@@ -205,13 +207,6 @@ private:
Utils::FilePaths formResources(const Utils::FilePath &formFile) const;
static QStringList baseVPaths(QtSupport::ProFileReader *reader, const QString &projectDir, const QString &buildDir);
static QStringList fullVPaths(const QStringList &baseVPaths, QtSupport::ProFileReader *reader, const QString &qmakeVariable, const QString &projectDir);
- static void extractSources(QHash<int, Internal::QmakePriFileEvalResult *> proToResult,
- Internal::QmakePriFileEvalResult *fallback,
- QVector<ProFileEvaluator::SourceFile> sourceFiles, ProjectExplorer::FileType type, bool cumulative);
- static void extractInstalls(
- QHash<int, Internal::QmakePriFileEvalResult *> proToResult,
- Internal::QmakePriFileEvalResult *fallback,
- const InstallsList &installList);
static void processValues(Internal::QmakePriFileEvalResult &result);
void watchFolders(const QSet<Utils::FilePath> &folders);