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:
|
for o in opt_list:
|
||||||
opts.Add(o)
|
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.
|
# Detect modules.
|
||||||
modules_detected = {}
|
modules_detected = {}
|
||||||
module_search_paths = ["modules"] # Built-in path.
|
module_search_paths = ["modules"] # Built-in path.
|
||||||
|
|
||||||
if ARGUMENTS.get("custom_modules"):
|
if env_base["custom_modules"]:
|
||||||
paths = ARGUMENTS.get("custom_modules").split(",")
|
paths = env_base["custom_modules"].split(",")
|
||||||
for p in paths:
|
for p in paths:
|
||||||
try:
|
try:
|
||||||
module_search_paths.append(methods.convert_custom_modules_path(p))
|
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)
|
methods.write_modules(modules_detected)
|
||||||
|
|
||||||
opts.Update(env_base) # update environment
|
# Update the environment again after all the module options are added.
|
||||||
Help(opts.GenerateHelpText(env_base)) # generate help
|
opts.Update(env_base)
|
||||||
|
Help(opts.GenerateHelpText(env_base))
|
||||||
|
|
||||||
# add default include paths
|
# add default include paths
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue