Enable standards conformance for MSVC

This commit is contained in:
Mikael Hermansson 2024-08-19 14:25:39 +02:00
parent 7a4a6fbc03
commit 807904d951
1 changed files with 4 additions and 0 deletions

View File

@ -773,6 +773,10 @@ else:
# MSVC doesn't have clear C standard support, /std only covers C++. # MSVC doesn't have clear C standard support, /std only covers C++.
# We apply it to CCFLAGS (both C and C++ code) in case it impacts C features. # We apply it to CCFLAGS (both C and C++ code) in case it impacts C features.
env.Prepend(CCFLAGS=["/std:c++17"]) env.Prepend(CCFLAGS=["/std:c++17"])
# MSVC is non-conforming with the C++ standard by default, so we enable more conformance.
# Note that this is still not complete conformance, as certain Windows-related headers
# don't compile under complete conformance.
env.Prepend(CCFLAGS=["/permissive-"])
# Disable exception handling. Godot doesn't use exceptions anywhere, and this # Disable exception handling. Godot doesn't use exceptions anywhere, and this
# saves around 20% of binary size and very significant build time (GH-80513). # saves around 20% of binary size and very significant build time (GH-80513).