diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp index 40d7e4e63fe..aaca6380d2e 100644 --- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp +++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp @@ -452,6 +452,10 @@ public: const QStringList &options() const { return m_options; } const Core::Id &diagnosticConfigId() const { return m_diagnosticConfigId; } + CppTools::UseBuildSystemWarnings useBuildSystemWarnings() const + { + return m_useBuildSystemWarnings; + } private: void addLanguageOptions() @@ -491,6 +495,9 @@ private: void addDiagnosticOptionsForConfig(const CppTools::ClangDiagnosticConfig &diagnosticConfig) { m_diagnosticConfigId = diagnosticConfig.id(); + m_useBuildSystemWarnings = diagnosticConfig.useBuildSystemWarnings() + ? CppTools::UseBuildSystemWarnings::Yes + : CppTools::UseBuildSystemWarnings::No; m_options.append(diagnosticConfig.clangOptions()); addClangTidyOptions(diagnosticConfig); @@ -565,6 +572,7 @@ private: const CppTools::ProjectPart &m_projectPart; Core::Id m_diagnosticConfigId; + CppTools::UseBuildSystemWarnings m_useBuildSystemWarnings = CppTools::UseBuildSystemWarnings::No; CppTools::CompilerOptionsBuilder m_builder; QStringList m_options; }; @@ -586,13 +594,13 @@ void ClangEditorDocumentProcessor::updateBackendDocument(CppTools::ProjectPart & return; } - const QStringList projectPartOptions = ClangCodeModel::Utils::createClangOptions( - projectPart, - CppTools::ProjectFile::Unsupported); // No language option as FileOptionsBuilder adds it. - const FileOptionsBuilder fileOptions(filePath(), projectPart); m_diagnosticConfigId = fileOptions.diagnosticConfigId(); + const QStringList projectPartOptions = ClangCodeModel::Utils::createClangOptions( + projectPart, fileOptions.useBuildSystemWarnings(), + CppTools::ProjectFile::Unsupported); // No language option as FileOptionsBuilder adds it. + const QStringList compilationArguments = projectPartOptions + fileOptions.options(); m_communicator.documentsOpened( diff --git a/src/plugins/clangcodemodel/clangutils.cpp b/src/plugins/clangcodemodel/clangutils.cpp index 4741f1ef96a..8a27a115a2d 100644 --- a/src/plugins/clangcodemodel/clangutils.cpp +++ b/src/plugins/clangcodemodel/clangutils.cpp @@ -66,11 +66,13 @@ namespace Utils { class LibClangOptionsBuilder final : public CompilerOptionsBuilder { public: - LibClangOptionsBuilder(const ProjectPart &projectPart) + LibClangOptionsBuilder(const ProjectPart &projectPart, + UseBuildSystemWarnings useBuildSystemWarnings) : CompilerOptionsBuilder(projectPart, UseSystemHeader::No, UseTweakedHeaderPaths::Yes, UseLanguageDefines::No, + useBuildSystemWarnings, QString(CLANG_VERSION), QString(CLANG_RESOURCE_DIR)) { @@ -101,9 +103,12 @@ private: } }; -QStringList createClangOptions(const ProjectPart &projectPart, ProjectFile::Kind fileKind) +QStringList createClangOptions(const ProjectPart &projectPart, + UseBuildSystemWarnings useBuildSystemWarnings, + ProjectFile::Kind fileKind) { - return LibClangOptionsBuilder(projectPart).build(fileKind, UsePrecompiledHeaders::No); + return LibClangOptionsBuilder(projectPart, useBuildSystemWarnings) + .build(fileKind, UsePrecompiledHeaders::No); } ProjectPart::Ptr projectPartForFile(const QString &filePath) diff --git a/src/plugins/clangcodemodel/clangutils.h b/src/plugins/clangcodemodel/clangutils.h index 0a7a1127bf9..b7f705b57b8 100644 --- a/src/plugins/clangcodemodel/clangutils.h +++ b/src/plugins/clangcodemodel/clangutils.h @@ -28,6 +28,7 @@ #include #include +#include #include @@ -53,6 +54,7 @@ CppTools::CppEditorDocumentHandle *cppDocument(const QString &filePath); void setLastSentDocumentRevision(const QString &filePath, uint revision); QStringList createClangOptions(const CppTools::ProjectPart &projectPart, + CppTools::UseBuildSystemWarnings useBuildSystemWarnings, CppTools::ProjectFile::Kind fileKind); CppTools::ProjectPart::Ptr projectPartForFile(const QString &filePath); diff --git a/src/plugins/clangtools/clangtoolruncontrol.cpp b/src/plugins/clangtools/clangtoolruncontrol.cpp index a25d3fc9103..c4ca8a4abbc 100644 --- a/src/plugins/clangtools/clangtoolruncontrol.cpp +++ b/src/plugins/clangtools/clangtoolruncontrol.cpp @@ -195,6 +195,7 @@ static AnalyzeUnits toAnalyzeUnits(const FileInfos &fileInfos) UseSystemHeader::No, UseTweakedHeaderPaths::Yes, UseLanguageDefines::No, + UseBuildSystemWarnings::No, QString(CLANG_VERSION), QString(CLANG_RESOURCE_DIR)); QStringList arguments = extraClangToolsPrependOptions(); diff --git a/src/plugins/cpptools/clangbasechecks.ui b/src/plugins/cpptools/clangbasechecks.ui index 8455db10fb5..5092af67d3d 100644 --- a/src/plugins/cpptools/clangbasechecks.ui +++ b/src/plugins/cpptools/clangbasechecks.ui @@ -24,6 +24,13 @@ + + + + Use diagnostic flags from build system + + + diff --git a/src/plugins/cpptools/clangdiagnosticconfig.cpp b/src/plugins/cpptools/clangdiagnosticconfig.cpp index a340e8347c6..b254250e420 100644 --- a/src/plugins/cpptools/clangdiagnosticconfig.cpp +++ b/src/plugins/cpptools/clangdiagnosticconfig.cpp @@ -75,7 +75,8 @@ bool ClangDiagnosticConfig::operator==(const ClangDiagnosticConfig &other) const && m_clangTidyMode == other.m_clangTidyMode && m_clangTidyChecks == other.m_clangTidyChecks && m_clazyChecks == other.m_clazyChecks - && m_isReadOnly == other.m_isReadOnly; + && m_isReadOnly == other.m_isReadOnly + && m_useBuildSystemWarnings == other.m_useBuildSystemWarnings; } bool ClangDiagnosticConfig::operator!=(const ClangDiagnosticConfig &other) const @@ -83,6 +84,16 @@ bool ClangDiagnosticConfig::operator!=(const ClangDiagnosticConfig &other) const return !(*this == other); } +bool ClangDiagnosticConfig::useBuildSystemWarnings() const +{ + return m_useBuildSystemWarnings; +} + +void ClangDiagnosticConfig::setUseBuildSystemWarnings(bool useBuildSystemWarnings) +{ + m_useBuildSystemWarnings = useBuildSystemWarnings; +} + ClangDiagnosticConfig::TidyMode ClangDiagnosticConfig::clangTidyMode() const { return m_clangTidyMode; diff --git a/src/plugins/cpptools/clangdiagnosticconfig.h b/src/plugins/cpptools/clangdiagnosticconfig.h index faaf439ad3d..bb3af15e0e1 100644 --- a/src/plugins/cpptools/clangdiagnosticconfig.h +++ b/src/plugins/cpptools/clangdiagnosticconfig.h @@ -65,6 +65,9 @@ public: bool isReadOnly() const; void setIsReadOnly(bool isReadOnly); + bool useBuildSystemWarnings() const; + void setUseBuildSystemWarnings(bool useBuildSystemWarnings); + bool operator==(const ClangDiagnosticConfig &other) const; bool operator!=(const ClangDiagnosticConfig &other) const; @@ -76,6 +79,7 @@ private: QString m_clangTidyChecks; QString m_clazyChecks; bool m_isReadOnly = false; + bool m_useBuildSystemWarnings = false; }; using ClangDiagnosticConfigs = QVector; diff --git a/src/plugins/cpptools/clangdiagnosticconfigsmodel.cpp b/src/plugins/cpptools/clangdiagnosticconfigsmodel.cpp index 68e3e443fdc..881e849b905 100644 --- a/src/plugins/cpptools/clangdiagnosticconfigsmodel.cpp +++ b/src/plugins/cpptools/clangdiagnosticconfigsmodel.cpp @@ -162,6 +162,18 @@ static void addConfigForTidyAndClazy(ClangDiagnosticConfigsModel &model) model.appendOrUpdate(config); } +static void addConfigForBuildSystem(ClangDiagnosticConfigsModel &model) +{ + ClangDiagnosticConfig config; + config.setId("Builtin.BuildSystem"); + config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel", + "Build-systems' warnings")); + config.setIsReadOnly(true); + config.setUseBuildSystemWarnings(true); + + model.appendOrUpdate(config); +} + static void addBuiltinConfigs(ClangDiagnosticConfigsModel &model) { addConfigForPedanticWarnings(model); @@ -171,6 +183,7 @@ static void addBuiltinConfigs(ClangDiagnosticConfigsModel &model) addConfigForClangAnalyze(model); addConfigForClazy(model); addConfigForTidyAndClazy(model); + addConfigForBuildSystem(model); } ClangDiagnosticConfigsModel::ClangDiagnosticConfigsModel(const ClangDiagnosticConfigs &customConfigs) diff --git a/src/plugins/cpptools/clangdiagnosticconfigswidget.cpp b/src/plugins/cpptools/clangdiagnosticconfigswidget.cpp index 22e7a93b8f9..a9a32a77bd1 100644 --- a/src/plugins/cpptools/clangdiagnosticconfigswidget.cpp +++ b/src/plugins/cpptools/clangdiagnosticconfigswidget.cpp @@ -38,6 +38,7 @@ #include #include +#include #include #include @@ -611,7 +612,7 @@ ClangDiagnosticConfigsWidget::ClangDiagnosticConfigsWidget(const Core::Id &confi this, &ClangDiagnosticConfigsWidget::onCopyButtonClicked); connect(m_ui->removeButton, &QPushButton::clicked, this, &ClangDiagnosticConfigsWidget::onRemoveButtonClicked); - connectDiagnosticOptionsChanged(); + connectClangOnlyOptionsChanged(); connect(m_tidyChecks->checksPrefixesTree, &QTreeView::clicked, @@ -734,14 +735,17 @@ static QStringList normalizeDiagnosticInputOptions(const QString &options) return options.simplified().split(QLatin1Char(' '), QString::SkipEmptyParts); } -void ClangDiagnosticConfigsWidget::onDiagnosticOptionsEdited() +void ClangDiagnosticConfigsWidget::onClangOnlyOptionsChanged() { - // Clean up input + const bool useBuildSystemWarnings = m_clangBaseChecks->useFlagsFromBuildSystemCheckBox + ->isChecked(); + + // Clean up options input const QString diagnosticOptions = m_clangBaseChecks->diagnosticOptionsTextEdit->document() ->toPlainText(); const QStringList normalizedOptions = normalizeDiagnosticInputOptions(diagnosticOptions); - // Validate + // Validate options input const QString errorMessage = validateDiagnosticOptions(normalizedOptions); updateValidityWidgets(errorMessage); if (!errorMessage.isEmpty()) { @@ -754,6 +758,7 @@ void ClangDiagnosticConfigsWidget::onDiagnosticOptionsEdited() // Commit valid changes ClangDiagnosticConfig updatedConfig = selectedConfig(); updatedConfig.setClangOptions(normalizedOptions); + updatedConfig.setUseBuildSystemWarnings(useBuildSystemWarnings); updateConfig(updatedConfig); } @@ -793,11 +798,17 @@ void ClangDiagnosticConfigsWidget::syncOtherWidgetsToComboBox() if (isConfigChooserEmpty()) return; + disconnectClangOnlyOptionsChanged(); + Utils::ExecuteOnDestruction e([this]() { connectClangOnlyOptionsChanged(); }); + const ClangDiagnosticConfig &config = selectedConfig(); // Update main button row m_ui->removeButton->setEnabled(!config.isReadOnly()); + // Update check box + m_clangBaseChecks->useFlagsFromBuildSystemCheckBox->setChecked(config.useBuildSystemWarnings()); + // Update Text Edit const QString options = m_notAcceptedOptions.contains(config.id()) ? m_notAcceptedOptions.value(config.id()) @@ -894,11 +905,8 @@ bool ClangDiagnosticConfigsWidget::isConfigChooserEmpty() const void ClangDiagnosticConfigsWidget::setDiagnosticOptions(const QString &options) { - if (options != m_clangBaseChecks->diagnosticOptionsTextEdit->document()->toPlainText()) { - disconnectDiagnosticOptionsChanged(); + if (options != m_clangBaseChecks->diagnosticOptionsTextEdit->document()->toPlainText()) m_clangBaseChecks->diagnosticOptionsTextEdit->document()->setPlainText(options); - connectDiagnosticOptionsChanged(); - } const QString errorMessage = validateDiagnosticOptions(normalizeDiagnosticInputOptions(options)); @@ -968,20 +976,28 @@ void ClangDiagnosticConfigsWidget::disconnectConfigChooserCurrentIndex() this, &ClangDiagnosticConfigsWidget::onCurrentConfigChanged); } -void ClangDiagnosticConfigsWidget::connectDiagnosticOptionsChanged() +void ClangDiagnosticConfigsWidget::connectClangOnlyOptionsChanged() { + connect(m_clangBaseChecks->useFlagsFromBuildSystemCheckBox, + &QCheckBox::stateChanged, + this, + &ClangDiagnosticConfigsWidget::onClangOnlyOptionsChanged); connect(m_clangBaseChecks->diagnosticOptionsTextEdit->document(), &QTextDocument::contentsChanged, this, - &ClangDiagnosticConfigsWidget::onDiagnosticOptionsEdited); + &ClangDiagnosticConfigsWidget::onClangOnlyOptionsChanged); } -void ClangDiagnosticConfigsWidget::disconnectDiagnosticOptionsChanged() +void ClangDiagnosticConfigsWidget::disconnectClangOnlyOptionsChanged() { + disconnect(m_clangBaseChecks->useFlagsFromBuildSystemCheckBox, + &QCheckBox::stateChanged, + this, + &ClangDiagnosticConfigsWidget::onClangOnlyOptionsChanged); disconnect(m_clangBaseChecks->diagnosticOptionsTextEdit->document(), &QTextDocument::contentsChanged, this, - &ClangDiagnosticConfigsWidget::onDiagnosticOptionsEdited); + &ClangDiagnosticConfigsWidget::onClangOnlyOptionsChanged); } ClangDiagnosticConfigs ClangDiagnosticConfigsWidget::customConfigs() const diff --git a/src/plugins/cpptools/clangdiagnosticconfigswidget.h b/src/plugins/cpptools/clangdiagnosticconfigswidget.h index 502f5a62d53..39d733cea53 100644 --- a/src/plugins/cpptools/clangdiagnosticconfigswidget.h +++ b/src/plugins/cpptools/clangdiagnosticconfigswidget.h @@ -77,7 +77,7 @@ private: void onClazyTreeChanged(); void onClangTidyTreeItemClicked(const QModelIndex &index); - void onDiagnosticOptionsEdited(); + void onClangOnlyOptionsChanged(); void syncWidgetsToModel(const Core::Id &configToSelect = Core::Id()); void syncConfigChooserToModel(const Core::Id &configToSelect = Core::Id()); @@ -104,8 +104,8 @@ private: void connectConfigChooserCurrentIndex(); void disconnectConfigChooserCurrentIndex(); - void connectDiagnosticOptionsChanged(); - void disconnectDiagnosticOptionsChanged(); + void connectClangOnlyOptionsChanged(); + void disconnectClangOnlyOptionsChanged(); private: Ui::ClangDiagnosticConfigsWidget *m_ui; diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 6e3fa368172..3f44a977c94 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -99,12 +99,14 @@ CompilerOptionsBuilder::CompilerOptionsBuilder(const ProjectPart &projectPart, UseSystemHeader useSystemHeader, UseTweakedHeaderPaths useTweakedHeaderPaths, UseLanguageDefines useLanguageDefines, + UseBuildSystemWarnings useBuildSystemWarnings, const QString &clangVersion, const QString &clangResourceDirectory) : m_projectPart(projectPart) , m_useSystemHeader(useSystemHeader) , m_useTweakedHeaderPaths(useTweakedHeaderPaths) , m_useLanguageDefines(useLanguageDefines) + , m_useBuildSystemWarnings(useBuildSystemWarnings) , m_clangVersion(clangVersion) , m_clangResourceDirectory(clangResourceDirectory) { @@ -707,10 +709,11 @@ void CompilerOptionsBuilder::evaluateCompilerFlags() continue; } - // Ignore warning flags as these interfere with ouser user-configured diagnostics. + // Ignore warning flags as these interfere with our user-configured diagnostics. // Note that once "-w" is provided, no warnings will be emitted, even if "-Wall" follows. - if (option.startsWith("-w", Qt::CaseInsensitive) - || option.startsWith("/w", Qt::CaseInsensitive) || option.startsWith("-pedantic")) { + if (m_useBuildSystemWarnings == UseBuildSystemWarnings::No + && (option.startsWith("-w", Qt::CaseInsensitive) + || option.startsWith("/w", Qt::CaseInsensitive) || option.startsWith("-pedantic"))) { // -w, -W, /w, /W... continue; } diff --git a/src/plugins/cpptools/compileroptionsbuilder.h b/src/plugins/cpptools/compileroptionsbuilder.h index 4667b7a72f0..03564ab6164 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.h +++ b/src/plugins/cpptools/compileroptionsbuilder.h @@ -36,6 +36,7 @@ enum class UseSystemHeader : char { Yes, No }; enum class UseTweakedHeaderPaths : char { Yes, No }; enum class UseToolchainMacros : char { Yes, No }; enum class UseLanguageDefines : char { Yes, No }; +enum class UseBuildSystemWarnings : char { Yes, No }; CPPTOOLS_EXPORT QStringList XclangArgs(const QStringList &args); CPPTOOLS_EXPORT QStringList clangArgsForCl(const QStringList &args); @@ -43,12 +44,14 @@ CPPTOOLS_EXPORT QStringList clangArgsForCl(const QStringList &args); class CPPTOOLS_EXPORT CompilerOptionsBuilder { public: - CompilerOptionsBuilder(const ProjectPart &projectPart, - UseSystemHeader useSystemHeader = UseSystemHeader::No, - UseTweakedHeaderPaths useTweakedHeaderPaths = UseTweakedHeaderPaths::No, - UseLanguageDefines useLanguageDefines = UseLanguageDefines::No, - const QString &clangVersion = QString(), - const QString &clangResourceDirectory = QString()); + CompilerOptionsBuilder( + const ProjectPart &projectPart, + UseSystemHeader useSystemHeader = UseSystemHeader::No, + UseTweakedHeaderPaths useTweakedHeaderPaths = UseTweakedHeaderPaths::No, + UseLanguageDefines useLanguageDefines = UseLanguageDefines::No, + UseBuildSystemWarnings useBuildSystemWarnings = UseBuildSystemWarnings::No, + const QString &clangVersion = QString(), + const QString &clangResourceDirectory = QString()); QStringList build(ProjectFile::Kind fileKind, UsePrecompiledHeaders usePrecompiledHeaders); QStringList options() const { return m_options; } @@ -99,6 +102,7 @@ private: const UseSystemHeader m_useSystemHeader; const UseTweakedHeaderPaths m_useTweakedHeaderPaths; const UseLanguageDefines m_useLanguageDefines; + const UseBuildSystemWarnings m_useBuildSystemWarnings; const QString m_clangVersion; const QString m_clangResourceDirectory; diff --git a/tests/unit/unittest/compileroptionsbuilder-test.cpp b/tests/unit/unittest/compileroptionsbuilder-test.cpp index 4176bebc5e6..372149c0464 100644 --- a/tests/unit/unittest/compileroptionsbuilder-test.cpp +++ b/tests/unit/unittest/compileroptionsbuilder-test.cpp @@ -98,6 +98,22 @@ TEST_F(CompilerOptionsBuilder, CompilerFlagsFiltering_UnknownOptionsAreForwarded ASSERT_THAT(compilerOptionsBuilder.options(), Contains(part.compilerFlags.first())); } +TEST_F(CompilerOptionsBuilder, CompilerFlagsFiltering_WarningsFlagsAreNotFilteredIfRequested) +{ + ProjectPart part = projectPart; + part.compilerFlags = QStringList{"-Whello"}; + + CppTools::CompilerOptionsBuilder compilerOptionsBuilder{part, + CppTools::UseSystemHeader::No, + CppTools::UseTweakedHeaderPaths::No, + CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::Yes}; + + compilerOptionsBuilder.build(ProjectFile::CXXSource, CppTools::UsePrecompiledHeaders::No); + + ASSERT_THAT(compilerOptionsBuilder.options(), Contains(part.compilerFlags.first())); +} + TEST_F(CompilerOptionsBuilder, CompilerFlagsFiltering_DiagnosticOptionsAreRemoved) { ProjectPart part = projectPart; @@ -171,6 +187,7 @@ TEST_F(CompilerOptionsBuilder, HeaderPathOptionsOrder) CppTools::UseSystemHeader::No, CppTools::UseTweakedHeaderPaths::Yes, CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, "dummy_version", ""}; @@ -196,6 +213,7 @@ TEST_F(CompilerOptionsBuilder, HeaderPathOptionsOrderCl) CppTools::UseSystemHeader::No, CppTools::UseTweakedHeaderPaths::Yes, CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, "dummy_version", ""}; compilerOptionsBuilder.evaluateCompilerFlags(); @@ -221,6 +239,7 @@ TEST_F(CompilerOptionsBuilder, UseSystemHeader) CppTools::UseSystemHeader::Yes, CppTools::UseTweakedHeaderPaths::Yes, CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, "dummy_version", ""}; @@ -265,6 +284,7 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderMacOs) CppTools::UseSystemHeader::No, CppTools::UseTweakedHeaderPaths::Yes, CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, "dummy_version", ""); @@ -310,6 +330,7 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderLinux) CppTools::UseSystemHeader::No, CppTools::UseTweakedHeaderPaths::Yes, CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, "dummy_version", ""); @@ -356,6 +377,7 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderNoVersion) CppTools::UseSystemHeader::No, CppTools::UseTweakedHeaderPaths::Yes, CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, "dummy_version", ""); @@ -403,6 +425,7 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderAndroidClang) CppTools::UseSystemHeader::No, CppTools::UseTweakedHeaderPaths::Yes, CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, "dummy_version", ""); @@ -480,6 +503,7 @@ TEST_F(CompilerOptionsBuilder, InsertWrappedQtHeaders) CppTools::UseSystemHeader::Yes, CppTools::UseTweakedHeaderPaths::Yes, CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, "dummy_version", ""}; @@ -613,6 +637,7 @@ TEST_F(CompilerOptionsBuilder, BuildAllOptions) CppTools::UseSystemHeader::No, CppTools::UseTweakedHeaderPaths::Yes, CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, "dummy_version", ""); @@ -652,6 +677,7 @@ TEST_F(CompilerOptionsBuilder, BuildAllOptionsCl) CppTools::UseSystemHeader::No, CppTools::UseTweakedHeaderPaths::Yes, CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, "dummy_version", "");