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