diff options
Diffstat (limited to 'SConstruct')
-rw-r--r-- | SConstruct | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/SConstruct b/SConstruct index 3edf81129b..2d9802f293 100644 --- a/SConstruct +++ b/SConstruct @@ -137,6 +137,7 @@ opts.Add("extra_suffix", "Custom extra suffix added to the base filename of all opts.Add(BoolVariable("vsproj", "Generate a Visual Studio solution", False)) opts.Add(BoolVariable("disable_3d", "Disable 3D nodes for a smaller executable", False)) opts.Add(BoolVariable("disable_advanced_gui", "Disable advanced GUI nodes and behaviors", False)) +opts.Add(BoolVariable("modules_enabled_by_default", "If no, disable all modules except ones explicitly enabled", True)) opts.Add(BoolVariable("no_editor_splash", "Don't use the custom splash screen for the editor", False)) opts.Add("system_certs_path", "Use this path as SSL certificates default for editor (for package maintainers)", "") opts.Add(BoolVariable("use_precise_math_checks", "Math checks use very precise epsilon (debug option)", False)) @@ -259,16 +260,21 @@ for path in module_search_paths: # Add module options. for name, path in modules_detected.items(): - enabled = True - sys.path.insert(0, path) - import config - - try: - enabled = config.is_enabled() - except AttributeError: - pass - sys.path.remove(path) - sys.modules.pop("config") + if env_base["modules_enabled_by_default"]: + enabled = True + + sys.path.insert(0, path) + import config + + try: + enabled = config.is_enabled() + except AttributeError: + pass + sys.path.remove(path) + sys.modules.pop("config") + else: + enabled = False + opts.Add(BoolVariable("module_" + name + "_enabled", "Enable module '%s'" % (name,), enabled)) methods.write_modules(modules_detected) |