CMakeLists: Enable extra standards conformance flags on MSVC

These flags are off by default. We can enable these to enforce
more standards-compliant behavior.

Given this project is quite small, this is trivial to append.
This commit is contained in:
Lioncash 2019-08-30 10:42:05 -04:00
parent f57d8cf761
commit 3f7e52b216
1 changed files with 19 additions and 0 deletions

View File

@ -20,6 +20,25 @@ add_library(kabufuda STATIC
)
if(WIN32)
if (MSVC)
target_compile_options(kabufuda PRIVATE
# Enforce various standards compliant behavior.
/permissive-
# Enable standard volatile semantics.
/volatile:iso
# Reports the proper value for the __cplusplus preprocessor macro.
/Zc:__cplusplus
# Allow constexpr variables to have explicit external linkage.
/Zc:externConstexpr
# Assume that new throws exceptions, allowing better code generation.
/Zc:throwingNew
)
endif()
target_sources(kabufuda PRIVATE
include/kabufuda/winsupport.hpp
lib/kabufuda/AsyncIOWin32.cpp