SCons: Fix MSVC D9025 warning overriding opt level

And cleanup disable_warnings too to avoid setting `/w` / `-w` multiple times.

(cherry picked from commit 9505f5fdd8)
This commit is contained in:
Rémi Verschelde 2022-09-27 12:35:12 +02:00
parent 00c346b325
commit db1e17a3cd
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -46,17 +46,12 @@ def disable_warnings(self):
if self.msvc: if self.msvc:
# We have to remove existing warning level defines before appending /w, # We have to remove existing warning level defines before appending /w,
# otherwise we get: "warning D9025 : overriding '/W3' with '/w'" # otherwise we get: "warning D9025 : overriding '/W3' with '/w'"
warn_flags = ["/Wall", "/W4", "/W3", "/W2", "/W1", "/WX"] self["CCFLAGS"] = [x for x in self["CCFLAGS"] if not (x.startswith("/W") or x.startswith("/w"))]
self.Append(CCFLAGS=["/w"]) self["CFLAGS"] = [x for x in self["CFLAGS"] if not (x.startswith("/W") or x.startswith("/w"))]
self.Append(CFLAGS=["/w"]) self["CXXFLAGS"] = [x for x in self["CXXFLAGS"] if not (x.startswith("/W") or x.startswith("/w"))]
self.Append(CXXFLAGS=["/w"]) self.AppendUnique(CCFLAGS=["/w"])
self["CCFLAGS"] = [x for x in self["CCFLAGS"] if not x in warn_flags]
self["CFLAGS"] = [x for x in self["CFLAGS"] if not x in warn_flags]
self["CXXFLAGS"] = [x for x in self["CXXFLAGS"] if not x in warn_flags]
else: else:
self.Append(CCFLAGS=["-w"]) self.AppendUnique(CCFLAGS=["-w"])
self.Append(CFLAGS=["-w"])
self.Append(CXXFLAGS=["-w"])
def add_module_version_string(self, s): def add_module_version_string(self, s):