SCU build - Change options to "yes / no"

To save confusion for users who prefer yes / no, rather than none / dev / all.
This commit is contained in:
lawnjelly 2023-06-07 19:30:40 +01:00
parent 46c4068821
commit 6d0995b03d
2 changed files with 3 additions and 9 deletions

View File

@ -224,7 +224,7 @@ opts.Add(
"", "",
) )
opts.Add(BoolVariable("use_precise_math_checks", "Math checks use very precise epsilon (debug option)", False)) 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 # Thirdparty libraries
opts.Add(BoolVariable("builtin_certs", "Use the built-in SSL certificates bundles", True)) 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. # to give *users* extra debugging information for their game development.
env_base.Append(CPPDEFINES=["DEBUG_ENABLED"]) env_base.Append(CPPDEFINES=["DEBUG_ENABLED"])
if env_base.dev_build: if env_base.dev_build:
# DEV_ENABLED enables *engine developer* code which should only be compiled for those # DEV_ENABLED enables *engine developer* code which should only be compiled for those
# working on the engine itself. # working on the engine itself.
env_base.Append(CPPDEFINES=["DEV_ENABLED"]) env_base.Append(CPPDEFINES=["DEV_ENABLED"])
env_base["use_scu"] = env_base["scu_build"] in ("dev", "all")
else: else:
# Disable assert() for production targets (only used in thirdparty code). # Disable assert() for production targets (only used in thirdparty code).
env_base.Append(CPPDEFINES=["NDEBUG"]) 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 # SCons speed optimization controlled by the `fast_unsafe` option, which provide
# more than 10 s speed up for incremental rebuilds. # more than 10 s speed up for incremental rebuilds.
# Unsafe as they reduce the certainty of rebuilding all changed files, so it's # 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") env["lto"] = ARGUMENTS.get("lto", "auto")
# Run SCU file generation script if in a SCU build. # 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)) 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 # Must happen after the flags' definition, as configure is when most flags

View File

@ -79,7 +79,7 @@ def _find_scu_section_name(subdir):
def add_source_files_scu(self, sources, files, allow_gen=False): 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: if "*." not in files:
return False return False