[Openvpn-devel,v3] CMake: For VS build, switch from /W2 to /W3

Message ID 20251208113636.9650-1-gert@greenie.muc.de
State New
Headers show
Series [Openvpn-devel,v3] CMake: For VS build, switch from /W2 to /W3 | expand

Commit Message

Gert Doering Dec. 8, 2025, 11:36 a.m. UTC
From: Frank Lichtenheld <frank@lichtenheld.com>

But exclude the added checks that currently have failures
so that we can keep /WX enabled.
Basically this excludes -Wconversion and -Wsign-compare,
as expected from our GCC/Clang flags.

Github: #382
Change-Id: Iffc114939cb37129057e9c4864fae9e09c3c7fe4
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1417
---

This change was reviewed on Gerrit and approved by at least one
developer. I request to merge it to master.

Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1417
This mail reflects revision 3 of this Change.

Acked-by according to Gerrit (reflected above):
Gert Doering <gert@greenie.muc.de>

Comments

Gert Doering Dec. 8, 2025, 2:41 p.m. UTC | #1
Windows building, turn on more warnings (welcome), ignoring those that
we do not have fixed yet - makes sense :-) - plus documentation!

Tested via GHA builds.

Your patch has been applied to the master branch.

commit 9a2420fd63265166d1b60a38e8180aa360473ddc
Author: Frank Lichtenheld
Date:   Mon Dec 8 12:36:30 2025 +0100

     CMake: For VS build, switch from /W2 to /W3

     Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
     Acked-by: Gert Doering <gert@greenie.muc.de>
     Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1417
     Message-Id: <20251208113636.9650-1-gert@greenie.muc.de>
     URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg34876.html
     Signed-off-by: Gert Doering <gert@greenie.muc.de>


--
kind regards,

Gert Doering

Patch

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b3142e4..906fa04 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -85,9 +85,12 @@ 
     if (USE_WERROR)
         add_compile_options(/WX)
     endif ()
+    # C4018: signed/unsigned mismatch
+    # C4244: conversion from 'type1' to 'type2', possible loss of data
+    # C4267: conversion from 'size_t' to 'type', possible loss of data
     add_compile_options(
         /MP
-        /W2
+        /W3 /wd4018 /wd4267 /wd4244
         /sdl
         /Qspectre
         /guard:cf