https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fd265bd7ac5185dc297d4…
commit fd265bd7ac5185dc297d404cc6c2d7b53e670053
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Fri Oct 18 10:23:31 2024 +0300
Commit: Timo Kreuzer <timo.kreuzer(a)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=msv…
---
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)