2
0
Эх сурвалжийг харах

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.
Andrii Doroshenko (Xrayez) 5 жил өмнө
parent
commit
6304d16915
1 өөрчлөгдсөн 9 нэмэгдсэн , 4 устгасан
  1. 9 4
      SConstruct

+ 9 - 4
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