cmake: disable warnings for operands with different enum types

With a recent upgrade to a newer version of MSVC we now get a bunch of
warnings when two operands use different enum types. While sensible in
theory, in practice we have a couple of non-public enums that extend
public enums, like for example with `GIT_SUBMODULE_STATUS`.

Let's for now disable this warning to unblock our builds. The
alternative would be to add casts all over the place, but that feels
rather cumbersome.
This commit is contained in:
Patrick Steinhardt
2025-08-01 08:43:01 +02:00
parent 5ab90d3c27
commit 5d78d634f2

View File

@@ -13,6 +13,9 @@ if(MSVC)
# /Gd - explicitly set cdecl calling convention
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Gd")
# Remove warnings about operands that use different enum types.
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd5287")
if(NOT (MSVC_VERSION LESS 1900))
# /guard:cf - Enable Control Flow Guard
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /guard:cf")