https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fd265bd7ac5185dc297d404cc6c2d7b53e670053

commit fd265bd7ac5185dc297d404cc6c2d7b53e670053
Author:     Timo Kreuzer <timo.kreu...@reactos.org>
AuthorDate: Fri Oct 18 10:23:31 2024 +0300
Commit:     Timo Kreuzer <timo.kreu...@reactos.org>
CommitDate: Sat Oct 19 15:11:44 2024 +0300

    [CMAKE] Enable proper definition of __cplusplus macro on MSVC
    
    MSVC defaults to always reporting 199711L to satisfy broken C++ code. You 
have to add a command line argument to make it work correctly. See 
https://learn.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-170
---
 sdk/cmake/msvc.cmake | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sdk/cmake/msvc.cmake b/sdk/cmake/msvc.cmake
index 67c2e451d7b..bf804dd3bfd 100644
--- a/sdk/cmake/msvc.cmake
+++ b/sdk/cmake/msvc.cmake
@@ -32,6 +32,9 @@ endif()
 
 add_definitions(/D__STDC__=1)
 
+# Enable correct values of __cplusplus macro for newer standards
+add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/Zc:__cplusplus>)
+
 # Ignore any "standard" include paths, and do not use any default CRT library.
 if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
     add_compile_options(/X /Zl)

Reply via email to