aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-07-07 18:59:15 +0200
committerShauren <shauren.trinity@gmail.com>2025-07-07 18:59:15 +0200
commitc5425196fd5bd04ce22aad377959e7f4376cafb1 (patch)
tree1e7778be131e4c0c0cc1db9b24648fc5bbae1dba /cmake
parent3c29a0f61dddc2c67544cfa547ed577beb01cb9f (diff)
Build: Enable more msvc standard conformance options
Diffstat (limited to 'cmake')
-rw-r--r--cmake/compiler/msvc/settings.cmake10
1 files changed, 4 insertions, 6 deletions
diff --git a/cmake/compiler/msvc/settings.cmake b/cmake/compiler/msvc/settings.cmake
index 35428a703c5..f7817cb5d7c 100644
--- a/cmake/compiler/msvc/settings.cmake
+++ b/cmake/compiler/msvc/settings.cmake
@@ -65,14 +65,12 @@ if((PLATFORM EQUAL 64) OR (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0.2302
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
- # /Zc:throwingNew.
- # When you specify Zc:throwingNew on the command line, it instructs the compiler to assume
- # that the program will eventually be linked with a conforming operator new implementation,
- # and can omit all of these extra null checks from your program.
- # http://blogs.msdn.com/b/vcblog/archive/2015/08/06/new-in-vs-2015-zc-throwingnew.aspx
target_compile_options(trinity-compile-option-interface
INTERFACE
- /Zc:throwingNew)
+ /Zc:__cplusplus # Enable updated __cplusplus macro value
+ /Zc:preprocessor # Enable preprocessor conformance mode
+ /Zc:templateScope # Check template parameter shadowing
+ /Zc:throwingNew) # Assume operator new throws
endif()
# Define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES - eliminates the warning by changing the strcpy call to strcpy_s, which prevents buffer overruns