diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2020-02-08 15:43:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-08 15:43:10 +0100 |
commit | 42f04cbc1a59772a5f7eca9c6847fa349b23a70e (patch) | |
tree | 8c11dccd0ab5aa2cf762c32ff7c4a1a7121b8e62 /modules | |
parent | a27715d0dac2046c7012a93d41cb5aece966cc19 (diff) | |
parent | 4e2dbb1bc0845c9458a47f3ba86b184996fb7444 (diff) |
Merge pull request #35982 from akien-mga/scons-modules-enabled-header-and-split
SCons: Split libmodules.a in folder-based libs
Diffstat (limited to 'modules')
-rw-r--r-- | modules/SCsub | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/modules/SCsub b/modules/SCsub index 75483fd637..5b39b18334 100644 --- a/modules/SCsub +++ b/modules/SCsub @@ -8,17 +8,26 @@ env_modules = env.Clone() Export('env_modules') +# Header with MODULE_*_ENABLED defines. 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") - +# libmodule_<name>.a for each active module. for module in env.module_list: + env.modules_sources = [] SConscript(module + "/SCsub") -if env['split_libmodules']: - env.split_lib("modules", env_lib = env_modules) -else: - lib = env_modules.add_library("modules", env.modules_sources) + # Some modules are not linked automatically but can be enabled optionally + # on iOS, so we handle those specially. + if env["platform"] == "iphone" and module in ["arkit", "camera"]: + continue + lib = env_modules.add_library("module_%s" % module, env.modules_sources) env.Prepend(LIBS=[lib]) + +# libmodules.a with only register_module_types. +# Must be last so that all libmodule_<name>.a libraries are on the right side +# in the linker command. +env.modules_sources = [] +env_modules.add_source_files(env.modules_sources, "register_module_types.gen.cpp") +lib = env_modules.add_library("modules", env.modules_sources) +env.Prepend(LIBS=[lib]) |