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:
parent
bfac9b3538
commit
6304d16915
13
SConstruct
13
SConstruct
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue