[Scons] Implement module dependency sorting.

Modules can now call:

env.module_add_dependencies(name: str, deps: list, optional: bool)

To add required or optional dependencies during the "can_build" step.

Required dependencies will be checked and the module will be not be
enabled when they are missing, printing a warning to notify the user.
This commit is contained in:
Fabio Alessandrelli 2022-08-04 19:11:01 +02:00
parent bed2482ce2
commit 951a1016d3
8 changed files with 57 additions and 23 deletions

View file

@ -3,8 +3,8 @@
Import("env")
Import("env_modules")
freetype_enabled = env.module_check_dependencies("text_server_fb", ["freetype"], True)
msdfgen_enabled = env.module_check_dependencies("text_server_fb", ["msdfgen"], True)
freetype_enabled = "freetype" in env.module_list
msdfgen_enabled = "msdfgen" in env.module_list
env_text_server_fb = env_modules.Clone()