virtualx-engine/modules/SCsub
Rémi Verschelde cbbea6084d
SCons: Generate header with info on which modules are enabled
We already had `MODULE_*_ENABLED` defines but only in the modules
environment, and a few custom `*_ENABLED` defines in the main env
when we needed the information in core.

Now this is defined in a single header which can be included in the
files that need this information.

(cherry picked from commit b7297fb39c)
2021-07-14 23:09:47 +02:00

29 lines
706 B
Python

#!/usr/bin/env python
Import("env")
import os
import modules_builders
env_modules = env.Clone()
Export("env_modules")
env.CommandNoCache("modules_enabled.gen.h", Value(env.module_list), modules_builders.generate_modules_enabled)
env.modules_sources = []
env_modules.add_source_files(env.modules_sources, "register_module_types.gen.cpp")
for name, path in env.module_list.items():
if not os.path.isabs(path):
SConscript(name + "/SCsub") # Built-in.
else:
SConscript(path + "/SCsub") # Custom.
if env["split_libmodules"]:
env.split_lib("modules", env_lib=env_modules)
else:
lib = env_modules.add_library("modules", env.modules_sources)
env.Prepend(LIBS=[lib])