|
|
@@ -21,15 +21,27 @@ if (MSVC)
|
|
|
# Ensure that projects build with Unicode support.
|
|
|
add_definitions(-DUNICODE -D_UNICODE)
|
|
|
|
|
|
- # /W3 - Level 3 warnings
|
|
|
- # /MP - Multi-threaded compilation
|
|
|
- # /Zi - Output debugging information
|
|
|
- # /Zo - enhanced debug info for optimized builds
|
|
|
- # /permissive- - enables stricter C++ standards conformance checks
|
|
|
- # /EHsc - C++-only exception handling semantics
|
|
|
- # /Zc:throwingNew - let codegen assume `operator new` will never return null
|
|
|
- # /Zc:inline - let codegen omit inline functions in object files
|
|
|
- add_compile_options(/W3 /MP /Zi /Zo /permissive- /EHsc /std:c++latest /Zc:throwingNew,inline)
|
|
|
+ # /W3 - Level 3 warnings
|
|
|
+ # /MP - Multi-threaded compilation
|
|
|
+ # /Zi - Output debugging information
|
|
|
+ # /Zo - Enhanced debug info for optimized builds
|
|
|
+ # /permissive- - Enables stricter C++ standards conformance checks
|
|
|
+ # /EHsc - C++-only exception handling semantics
|
|
|
+ # /Zc:externConstexpr - Allow extern constexpr variables to have external linkage, like the standard mandates
|
|
|
+ # /Zc:inline - Let codegen omit inline functions in object files
|
|
|
+ # /Zc:throwingNew - Let codegen assume `operator new` (without std::nothrow) will never return null
|
|
|
+ add_compile_options(
|
|
|
+ /W3
|
|
|
+ /MP
|
|
|
+ /Zi
|
|
|
+ /Zo
|
|
|
+ /permissive-
|
|
|
+ /EHsc
|
|
|
+ /std:c++latest
|
|
|
+ /Zc:externConstexpr
|
|
|
+ /Zc:inline
|
|
|
+ /Zc:throwingNew
|
|
|
+ )
|
|
|
|
|
|
# /GS- - No stack buffer overflow checks
|
|
|
add_compile_options("$<$<CONFIG:Release>:/GS->")
|