summaryrefslogtreecommitdiff
path: root/platform/windows
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2022-07-25 20:10:20 +0100
committerKevin Smith <git@kismith.co.uk>2022-07-25 20:10:20 +0100
commitd8900e0020b21d449069ef2a301253371fb70a21 (patch)
tree61f21bbaeb1d9b766de751b68190f5deae15aa16 /platform/windows
parent18596f6b3dd8a3bda04d0367d37f94c579a8a6e7 (diff)
Use bigobj for release MSVC builds
Previously it was used only on debug builds, but recent additions to variant_call.cpp have made that unit too large even in release_debug. It was originally set to debug only because using it breaks mingw, so this only reinstates it for MSVC where it shouldn't have any drawbacks (famous last words). Test-Information: Builds for me with scons -j 40 platform=windows target=release_debug and my game then runs from it.
Diffstat (limited to 'platform/windows')
-rw-r--r--platform/windows/detect.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/platform/windows/detect.py b/platform/windows/detect.py
index b82fe5e7ad..6a7caf4656 100644
--- a/platform/windows/detect.py
+++ b/platform/windows/detect.py
@@ -198,7 +198,6 @@ def configure_msvc(env, manual_msvc_config):
elif env["target"] == "debug":
env.AppendUnique(CCFLAGS=["/Zi", "/FS", "/Od", "/EHsc"])
# Allow big objects. Only needed for debug, see MinGW branch for rationale.
- env.AppendUnique(CCFLAGS=["/bigobj"])
env.Append(LINKFLAGS=["/DEBUG"])
if env["debug_symbols"]:
@@ -221,6 +220,10 @@ def configure_msvc(env, manual_msvc_config):
env.AppendUnique(CCFLAGS=["/Gd", "/GR", "/nologo"])
env.AppendUnique(CCFLAGS=["/utf-8"]) # Force to use Unicode encoding.
env.AppendUnique(CXXFLAGS=["/TP"]) # assume all sources are C++
+ # Once it was thought that only debug builds would be too large,
+ # but this has recently stopped being true. See the mingw function
+ # for notes on why this shouldn't be enabled for gcc
+ env.AppendUnique(CCFLAGS=["/bigobj"])
if manual_msvc_config: # should be automatic if SCons found it
if os.getenv("WindowsSdkDir") is not None: