From 6d0995b03d08734f94366768dc57070ec14989da Mon Sep 17 00:00:00 2001 From: lawnjelly Date: Wed, 7 Jun 2023 19:30:40 +0100 Subject: [PATCH] SCU build - Change options to "yes / no" To save confusion for users who prefer yes / no, rather than none / dev / all. --- SConstruct | 10 ++-------- methods.py | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/SConstruct b/SConstruct index c383029effb..c0c5dc4684d 100644 --- a/SConstruct +++ b/SConstruct @@ -224,7 +224,7 @@ opts.Add( "", ) opts.Add(BoolVariable("use_precise_math_checks", "Math checks use very precise epsilon (debug option)", False)) -opts.Add(EnumVariable("scu_build", "Use single compilation unit build", "none", ("none", "dev", "all"))) +opts.Add(BoolVariable("scu_build", "Use single compilation unit build", False)) # Thirdparty libraries opts.Add(BoolVariable("builtin_certs", "Use the built-in SSL certificates bundles", True)) @@ -430,20 +430,14 @@ if env_base.debug_features: # to give *users* extra debugging information for their game development. env_base.Append(CPPDEFINES=["DEBUG_ENABLED"]) - if env_base.dev_build: # DEV_ENABLED enables *engine developer* code which should only be compiled for those # working on the engine itself. env_base.Append(CPPDEFINES=["DEV_ENABLED"]) - env_base["use_scu"] = env_base["scu_build"] in ("dev", "all") else: # Disable assert() for production targets (only used in thirdparty code). env_base.Append(CPPDEFINES=["NDEBUG"]) - # SCU builds currently use a lot of compiler memory - # in release builds, so disallow outside of DEV builds unless "all" is set. - env_base["use_scu"] = env_base["scu_build"] == "all" - # SCons speed optimization controlled by the `fast_unsafe` option, which provide # more than 10 s speed up for incremental rebuilds. # Unsafe as they reduce the certainty of rebuilding all changed files, so it's @@ -559,7 +553,7 @@ if selected_platform in platform_list: env["lto"] = ARGUMENTS.get("lto", "auto") # Run SCU file generation script if in a SCU build. - if env["use_scu"]: + if env["scu_build"]: methods.set_scu_folders(scu_builders.generate_scu_files(env["verbose"], env_base.dev_build == False)) # Must happen after the flags' definition, as configure is when most flags diff --git a/methods.py b/methods.py index 2c15c4a43c0..18b4ceb74fa 100644 --- a/methods.py +++ b/methods.py @@ -79,7 +79,7 @@ def _find_scu_section_name(subdir): def add_source_files_scu(self, sources, files, allow_gen=False): - if self["use_scu"] and isinstance(files, str): + if self["scu_build"] and isinstance(files, str): if "*." not in files: return False