SCons: Allow to read `custom_modules` option via a file

The `custom_modules` option was only read via the command line
by fetching `ARGUMENTS` dictionary directly.

Instead, the option's value can now be read via any existing
configuration files (`custom.py`) as well as command line, while also
updating the environment.
This commit is contained in:
Andrii Doroshenko (Xrayez) 2020-05-29 03:02:32 +03:00
parent bfac9b3538
commit 6304d16915
1 changed files with 9 additions and 4 deletions

View File

@ -180,12 +180,16 @@ for k in platform_opts.keys():
for o in opt_list:
opts.Add(o)
# Update the environment now as the "custom_modules" option may be
# defined in a file rather than specified via the command line.
opts.Update(env_base)
# Detect modules.
modules_detected = {}
module_search_paths = ["modules"] # Built-in path.
if ARGUMENTS.get("custom_modules"):
paths = ARGUMENTS.get("custom_modules").split(",")
if env_base["custom_modules"]:
paths = env_base["custom_modules"].split(",")
for p in paths:
try:
module_search_paths.append(methods.convert_custom_modules_path(p))
@ -216,8 +220,9 @@ for name, path in modules_detected.items():
methods.write_modules(modules_detected)
opts.Update(env_base) # update environment
Help(opts.GenerateHelpText(env_base)) # generate help
# Update the environment again after all the module options are added.
opts.Update(env_base)
Help(opts.GenerateHelpText(env_base))
# add default include paths