From e8a4dc157936397f938561c6bc0f38df981f7509 Mon Sep 17 00:00:00 2001 From: Aleix Pol Date: Thu, 7 Oct 2021 18:04:00 +0200 Subject: msvc: Fix __cplusplus value Ensure /Zc:__cplusplus is passed when using newer C++ standards. https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-160 --- kde-modules/KDECompilerSettings.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kde-modules/KDECompilerSettings.cmake b/kde-modules/KDECompilerSettings.cmake index e753efd5..762cfc66 100644 --- a/kde-modules/KDECompilerSettings.cmake +++ b/kde-modules/KDECompilerSettings.cmake @@ -604,6 +604,12 @@ if (MSVC) # C4661: 'identifier' : no suitable definition provided for explicit # template instantiation request set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4661") + + if (CMAKE_CXX_STANDARD GREATER_EQUAL 11) + # Ensure __cplusplus is correct, otherwise it defaults to 199711L which isn't true + # https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-160 + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus") + endif() endif() option(ENABLE_BSYMBOLICFUNCTIONS "Make use of -Bsymbolic-functions" OFF) -- cgit v1.2.1