Kehom 2024-01-22 20:16:49 +01:00 committed by GitHub
commit 00ca87a6eb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 23 additions and 13 deletions

View File

@ -21,16 +21,15 @@ env.PrependENVPath("PATH", os.getenv("PATH"))
# Custom options and profile flags. # Custom options and profile flags.
customs = ["custom.py"] customs = ["custom.py"]
try:
customs += Import("customs")
except:
pass
profile = ARGUMENTS.get("profile", "") profile = ARGUMENTS.get("profile", "")
if profile: if profile:
if os.path.isfile(profile): if not profile.endswith('.py'):
customs.append(profile) profile += '.py'
elif os.path.isfile(profile + ".py"):
customs.append(profile + ".py") path = str(Entry('#' + profile))
if (os.path.isfile(path)):
customs.append(path)
opts = Variables(customs, ARGUMENTS) opts = Variables(customs, ARGUMENTS)
cpp_tool = Tool("godotcpp", toolpath=["tools"]) cpp_tool = Tool("godotcpp", toolpath=["tools"])
cpp_tool.options(opts, env) cpp_tool.options(opts, env)
@ -39,11 +38,13 @@ opts.Update(env)
Help(opts.GenerateHelpText(env)) Help(opts.GenerateHelpText(env))
# Detect and print a warning listing unknown SCons variables to ease troubleshooting. # Detect and print a warning listing unknown SCons variables to ease troubleshooting.
unknown = opts.UnknownVariables() # But only do that if this is top level SConstruct, not subsidiary
if unknown: if Dir("#").abspath == Dir(".").abspath:
print("WARNING: Unknown SCons variables were passed and will be ignored:") unknown = opts.UnknownVariables()
for item in unknown.items(): if unknown:
print(" " + item[0] + "=" + item[1]) print("WARNING: Unknown SCons variables were passed and will be ignored:")
for item in unknown.items():
print(" " + item[0] + "=" + item[1])
scons_cache_path = os.environ.get("SCONS_CACHE") scons_cache_path = os.environ.get("SCONS_CACHE")
if scons_cache_path is not None: if scons_cache_path is not None:

View File

@ -198,6 +198,15 @@ def options(opts, env):
) )
) )
opts.Add(
PathVariable(
key="profile",
help="Allow specification of customization file other than `custom.py`.",
default=env.get("profile", None),
validator=validate_file,
)
)
# Add platform options # Add platform options
for pl in platforms: for pl in platforms:
tool = Tool(pl, toolpath=["tools"]) tool = Tool(pl, toolpath=["tools"])