forked from qt-creator/qt-creator
PchManager: Split pch tasks in project and system pch tasks
Like you can see in the task numbers this patch is touching many different areas. So I will only touch the main parts. It is using a clang action instead of an extra process which will be enabling the handling of generated files in PCHs. The flags from the project part are now not anymore transformed in a command line but they are saved in the container semantically aware so that they can later be merged. Most of this patch is simply polishing of other patches. Task-number: QTCREATORBUG-21346 Task-number: QTCREATORBUG-21380 Task-number: QTCREATORBUG-21382 Task-number: QTCREATORBUG-21383 Task-number: QTCREATORBUG-21693 Task-number: QTCREATORBUG-21778 Change-Id: I9b0c02d8149b554254e819448fbc61eeaa5b7494 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
#include <utils/smallstringvector.h>
|
||||
|
||||
#include <compilermacro.h>
|
||||
#include <includesearchpath.h>
|
||||
|
||||
QT_FORWARD_DECLARE_CLASS(QJsonDocument)
|
||||
QT_FORWARD_DECLARE_STRUCT(QJsonParseError)
|
||||
@@ -41,27 +42,30 @@ class ProjectPartArtefact
|
||||
public:
|
||||
ProjectPartArtefact(Utils::SmallStringView compilerArgumentsText,
|
||||
Utils::SmallStringView compilerMacrosText,
|
||||
Utils::SmallStringView includeSearchPaths,
|
||||
int projectPartId);
|
||||
Utils::SmallStringView systemIncludeSearchPathsText,
|
||||
Utils::SmallStringView projectIncludeSearchPathsText,
|
||||
int projectPartId)
|
||||
: compilerArguments(toStringVector(compilerArgumentsText))
|
||||
, compilerMacros(toCompilerMacros(compilerMacrosText))
|
||||
, systemIncludeSearchPaths(toIncludeSearchPaths(systemIncludeSearchPathsText))
|
||||
, projectIncludeSearchPaths(toIncludeSearchPaths(projectIncludeSearchPathsText))
|
||||
, projectPartId(projectPartId)
|
||||
{}
|
||||
|
||||
static
|
||||
Utils::SmallStringVector toStringVector(Utils::SmallStringView jsonText);
|
||||
static
|
||||
CompilerMacros createCompilerMacrosFromDocument(const QJsonDocument &document);
|
||||
static
|
||||
CompilerMacros toCompilerMacros(Utils::SmallStringView jsonText);
|
||||
static
|
||||
QJsonDocument createJsonDocument(Utils::SmallStringView jsonText,
|
||||
const char *whatError);
|
||||
static
|
||||
void checkError(const char *whatError, const QJsonParseError &error);
|
||||
friend
|
||||
bool operator==(const ProjectPartArtefact &first, const ProjectPartArtefact &second);
|
||||
static Utils::SmallStringVector toStringVector(Utils::SmallStringView jsonText);
|
||||
static CompilerMacros createCompilerMacrosFromDocument(const QJsonDocument &document);
|
||||
static IncludeSearchPaths createIncludeSearchPathsFromDocument(const QJsonDocument &document);
|
||||
static CompilerMacros toCompilerMacros(Utils::SmallStringView jsonText);
|
||||
static QJsonDocument createJsonDocument(Utils::SmallStringView jsonText, const char *whatError);
|
||||
static IncludeSearchPaths toIncludeSearchPaths(Utils::SmallStringView jsonText);
|
||||
static void checkError(const char *whatError, const QJsonParseError &error);
|
||||
friend bool operator==(const ProjectPartArtefact &first, const ProjectPartArtefact &second);
|
||||
|
||||
public:
|
||||
Utils::SmallStringVector compilerArguments;
|
||||
CompilerMacros compilerMacros;
|
||||
Utils::SmallStringVector includeSearchPaths;
|
||||
IncludeSearchPaths systemIncludeSearchPaths;
|
||||
IncludeSearchPaths projectIncludeSearchPaths;
|
||||
int projectPartId = -1;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user