CppEditor: Introduce per-project code model settings

Change-Id: I325cc39e60d4b1f0fba1651502d772bfb9c6a91c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2024-02-22 16:26:13 +01:00
parent 812326eadc
commit faa595e38b
24 changed files with 430 additions and 69 deletions

View File

@@ -166,7 +166,6 @@ GenerateCompilationDbResult generateCompilationDB(QList<ProjectInfo::ConstPtr> p
}
compileCommandsFile.write("[");
const UsePrecompiledHeaders usePch = CppCodeModelSettings::instance().usePrecompiledHeaders();
const QJsonArray jsonProjectOptions = QJsonArray::fromStringList(projectOptions);
for (const ProjectInfo::ConstPtr &projectInfo : std::as_const(projectInfoList)) {
QTC_ASSERT(projectInfo, continue);
@@ -183,9 +182,15 @@ GenerateCompilationDbResult generateCompilationDB(QList<ProjectInfo::ConstPtr> p
jsonProjectOptions);
}
for (const ProjectFile &projFile : projectPart->files) {
const QJsonObject json = createFileObject(baseDir, args, *projectPart, projFile,
purpose, ppOptions, usePch,
optionsBuilder.isClStyle());
const QJsonObject json
= createFileObject(baseDir,
args,
*projectPart,
projFile,
purpose,
ppOptions,
projectInfo->settings().usePrecompiledHeaders(),
optionsBuilder.isClStyle());
if (compileCommandsFile.size() > 1)
compileCommandsFile.write(",");
compileCommandsFile.write(QJsonDocument(json).toJson(QJsonDocument::Compact));