ClangCodeModel: Prefer ui headers from ExtraCompilers

... to the ones from the actual build. The former are generally more up-
to-date.

Fixes: QTCREATORBUG-25937
Change-Id: I20859de9816457c340d9e1ec6a3008c536537d8b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Christian Kandeler
2021-07-01 17:12:55 +02:00
parent 8747e2fe1f
commit 4d27740baf
3 changed files with 10 additions and 2 deletions

View File

@@ -100,8 +100,10 @@ private:
void addDummyUiHeaderOnDiskIncludePath() void addDummyUiHeaderOnDiskIncludePath()
{ {
const QString path = ClangModelManagerSupport::instance()->dummyUiHeaderOnDiskDirPath(); const QString path = ClangModelManagerSupport::instance()->dummyUiHeaderOnDiskDirPath();
if (!path.isEmpty()) if (!path.isEmpty()) {
add({"-I", QDir::toNativeSeparators(path)}); prepend(QDir::toNativeSeparators(path));
prepend("-I");
}
} }
}; };

View File

@@ -165,6 +165,11 @@ void CompilerOptionsBuilder::add(const QString &arg, bool gccOnlyOption)
add(QStringList{arg}, gccOnlyOption); add(QStringList{arg}, gccOnlyOption);
} }
void CompilerOptionsBuilder::prepend(const QString &arg)
{
m_options.prepend(arg);
}
void CompilerOptionsBuilder::add(const QStringList &args, bool gccOnlyOptions) void CompilerOptionsBuilder::add(const QStringList &args, bool gccOnlyOptions)
{ {
m_options.append((gccOnlyOptions && isClStyle()) ? clangArgsForCl(args) : args); m_options.append((gccOnlyOptions && isClStyle()) ? clangArgsForCl(args) : args);

View File

@@ -85,6 +85,7 @@ public:
// Add custom options // Add custom options
void add(const QString &arg, bool gccOnlyOption = false); void add(const QString &arg, bool gccOnlyOption = false);
void prepend(const QString &arg);
void add(const QStringList &args, bool gccOnlyOptions = false); void add(const QStringList &args, bool gccOnlyOptions = false);
virtual void addExtraOptions() {} virtual void addExtraOptions() {}