forked from qt-creator/qt-creator
CppTools: Take "-include" files into account
Fixes: QTCREATORBUG-20602 Change-Id: Ibfc518fc64ed75f93265db800558ec1d2e424bb4 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
committed by
Christian Kandeler
parent
c05ad9a951
commit
888ea6bbbb
@@ -140,6 +140,7 @@ QStringList CompilerOptionsBuilder::build(ProjectFile::Kind fileKind,
|
||||
addLanguageVersionAndExtensions();
|
||||
addMsvcExceptions();
|
||||
|
||||
addIncludedFiles(m_projectPart.includedFiles); // GCC adds these before precompiled headers.
|
||||
addPrecompiledHeaderOptions(usePrecompiledHeaders);
|
||||
addProjectConfigFileInclude();
|
||||
|
||||
@@ -368,6 +369,21 @@ void CompilerOptionsBuilder::addHeaderPathOptions()
|
||||
}
|
||||
}
|
||||
|
||||
void CompilerOptionsBuilder::addIncludedFiles(const QStringList &files)
|
||||
{
|
||||
QStringList result;
|
||||
|
||||
const QString includeOptionString
|
||||
= QLatin1String(isClStyle() ? includeFileOptionCl : includeFileOptionGcc);
|
||||
for (const QString &file : files) {
|
||||
if (QFile::exists(file)) {
|
||||
result += includeOptionString;
|
||||
result += QDir::toNativeSeparators(file);
|
||||
}
|
||||
}
|
||||
m_options.append(result);
|
||||
}
|
||||
|
||||
void CompilerOptionsBuilder::addPrecompiledHeaderOptions(UsePrecompiledHeaders usePrecompiledHeaders)
|
||||
{
|
||||
for (const QString &pchFile : m_projectPart.precompiledHeaders) {
|
||||
@@ -830,6 +846,12 @@ void CompilerOptionsBuilder::evaluateCompilerFlags()
|
||||
continue;
|
||||
}
|
||||
|
||||
// These were already parsed into ProjectPart::includedFiles.
|
||||
if (option == includeFileOptionCl || option == includeFileOptionGcc) {
|
||||
skipNext = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (option.startsWith("/Y", Qt::CaseSensitive)
|
||||
|| (option.startsWith("/F", Qt::CaseSensitive) && option != "/F")) {
|
||||
// Precompiled header flags.
|
||||
|
||||
Reference in New Issue
Block a user