mirror of https://github.com/AxioDL/metaforce.git
CMakeLists: Enable several conformance flags on MSVC
Makes MSVC more standards compliant regarding various C++ constructs.
This commit is contained in:
parent
11c40415f5
commit
4deb785fba
|
@ -84,10 +84,16 @@ if(MSVC)
|
|||
set(HAVE_WORDS_BIGENDIAN_EXITCODE 0)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
|
||||
add_compile_options(/EHsc)
|
||||
|
||||
# Link-time Code Generation for Release builds (excluding clang-cl)
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||
add_compile_options(
|
||||
/permissive- # Enforce various standards compliance features.
|
||||
/Zc:externConstexpr # Allow extern constexpr variables according to the standard.
|
||||
/Zc:throwingNew # Assume new throws, allowing for better code generation.
|
||||
)
|
||||
|
||||
# Link-time Code Generation for Release builds (excluding clang-cl)
|
||||
set(CMAKE_C_FLAGS_RELEASE "/DNDEBUG /O2 /Oy /GL /Gy /MD")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "/DNDEBUG /Zi /O2 /Oy- /GL /Gy /MD")
|
||||
set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "/LTCG")
|
||||
|
|
Loading…
Reference in New Issue