Plugins: Add compilation database plugin

Introduce compilation database project support.

Pass the arguments list for each file directly to
ClangCodeModel via extraCodeModelFlags therefore
introduce a dependency from the ClangCodeModel plugin.

Change-Id: Iea5760d379de1ea246382dce56de0adf7ab5673d
Task-number: QTCREATORBUG-21115
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-08-13 11:15:27 +02:00
parent 8195c60917
commit c99fb5d0bc
14 changed files with 583 additions and 1 deletions

View File

@@ -68,6 +68,14 @@ QStringList CompilerOptionsBuilder::build(CppTools::ProjectFile::Kind fileKind,
addWordWidth();
addTargetTriple();
addExtraCodeModelFlags();
if (m_projectPart.toolchainType
== ProjectExplorer::Constants::COMPILATION_DATABASE_TOOLCHAIN_TYPEID) {
addHeaderPathOptions();
insertWrappedQtHeaders();
return options();
}
updateLanguageOption(fileKind);
addOptionsForLanguage(/*checkForBorlandExtensions*/ true);
enableExceptions();