diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index b1402e70f2f..25e49a5d908 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -794,7 +794,9 @@ static void getExpandedCompilerFlags(QStringList &cFlags, QStringList &cxxFlags, cFlags = cxxFlags = commonFlags; const auto cxxLanguageVersion = arrayToStringList(getCppProp("cxxLanguageVersion")); - if (cxxLanguageVersion.contains("c++20")) + if (cxxLanguageVersion.contains("c++23")) + cxxFlags << "-std=c++2b"; + else if (cxxLanguageVersion.contains("c++20")) cxxFlags << "-std=c++20"; else if (cxxLanguageVersion.contains("c++17")) cxxFlags << "-std=c++17"; @@ -850,9 +852,12 @@ static void getExpandedCompilerFlags(QStringList &cFlags, QStringList &cxxFlags, cxxFlags << "/TP"; if (!enableRtti.isUndefined()) cxxFlags << QLatin1String(enableRtti.toBool() ? "/GR" : "/GR-"); - if (getCppProp("cxxLanguageVersion").toArray().contains("c++20")) + const QJsonArray cxxLanguageVersion = getCppProp("cxxLanguageVersion").toArray(); + if (cxxLanguageVersion.contains("c++23")) + cxxFlags << "/std:c++latest"; + else if (cxxLanguageVersion.contains("c++20")) cxxFlags << "/std:c++20"; - else if (getCppProp("cxxLanguageVersion").toArray().contains("c++17")) + else if (cxxLanguageVersion.contains("c++17")) cxxFlags << "/std:c++17"; } }