diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabasetests.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdatabasetests.cpp index 113e60ad740..17840e92544 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabasetests.cpp +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabasetests.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include @@ -239,13 +240,15 @@ void CompilationDatabaseTests::testFilterCommand() "SemaCodeComplete"); testData.getFilteredFlags(); - QCOMPARE(testData.flags, - (QStringList{"/Zc:inline", "/Zc:strictStrings", "/Zc:rvalueCast", "/Zi"})); - QCOMPARE(testData.headerPaths, - toUserHeaderPaths(QStringList{"C:/build-qt_llvm-msvc2017_64bit-Debug/tools\\clang\\lib\\Sema"})); - QCOMPARE(testData.macros, (Macros{{"UNICODE", "1"}, {"_HAS_EXCEPTIONS", "0"}, {"WIN32", "1"}, - {"_WINDOWS", "1"}})); - QCOMPARE(testData.fileKind, CppEditor::ProjectFile::Kind::CXXSource); + if (Utils::HostOsInfo::isWindowsHost()) { + QCOMPARE(testData.flags, + (QStringList{"/Zc:inline", "/Zc:strictStrings", "/Zc:rvalueCast", "/Zi"})); + QCOMPARE(testData.headerPaths, + toUserHeaderPaths(QStringList{"C:/build-qt_llvm-msvc2017_64bit-Debug/tools\\clang\\lib\\Sema"})); + QCOMPARE(testData.macros, (Macros{{"UNICODE", "1"}, {"_HAS_EXCEPTIONS", "0"}, {"WIN32", "1"}, + {"_WINDOWS", "1"}})); + QCOMPARE(testData.fileKind, CppEditor::ProjectFile::Kind::CXXSource); + } } void CompilationDatabaseTests::testFileKindDifferentFromExtension() diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseutils.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseutils.cpp index b17b2c3a0e5..632db825562 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseutils.cpp +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseutils.cpp @@ -206,7 +206,7 @@ void filteredFlags(const QString &fileName, } // Skip all remaining Windows flags except feature flags. - if (flag.startsWith("/") && !flag.startsWith("/Z")) + if (Utils::HostOsInfo::isWindowsHost() && flag.startsWith("/") && !flag.startsWith("/Z")) continue; filtered.push_back(flag);