SCons: Pass env to modules can_build method
This allows to disable modules based on the environment, in particular `env[tools]` which tells us if we are building the editor or not.
This commit is contained in:
parent
28fa82c2de
commit
3334209a73
12
SConstruct
12
SConstruct
@ -396,7 +396,17 @@ if selected_platform in platform_list:
|
|||||||
sys.path.append(tmppath)
|
sys.path.append(tmppath)
|
||||||
env.current_module = x
|
env.current_module = x
|
||||||
import config
|
import config
|
||||||
if (config.can_build(selected_platform)):
|
# can_build changed number of arguments between 3.0 (1) and 3.1 (2),
|
||||||
|
# so try both to preserve compatibility for 3.0 modules
|
||||||
|
can_build = False
|
||||||
|
try:
|
||||||
|
can_build = config.can_build(env, selected_platform)
|
||||||
|
except TypeError:
|
||||||
|
print("Warning: module '%s' uses a deprecated `can_build` "
|
||||||
|
"signature in its config.py file, it should be "
|
||||||
|
"`can_build(env, platform)`." % x)
|
||||||
|
can_build = config.can_build(selected_platform)
|
||||||
|
if (can_build):
|
||||||
config.configure(env)
|
config.configure(env)
|
||||||
env.module_list.append(x)
|
env.module_list.append(x)
|
||||||
try:
|
try:
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
|
def can_build(env, platform):
|
||||||
def can_build(platform):
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
pass
|
pass
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return env['tools']
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
# Tools only, disabled for non-tools
|
pass
|
||||||
# TODO: Find a cleaner way to achieve that
|
|
||||||
if not env['tools']:
|
|
||||||
env['module_etc_enabled'] = False
|
|
||||||
env.disabled_modules.append("etc")
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
# should probably change this to only be true on iOS and Android
|
# should probably change this to only be true on iOS and Android
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ def find_file_in_dir(directory, files, prefix='', extension=''):
|
|||||||
return ''
|
return ''
|
||||||
|
|
||||||
|
|
||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
if platform in ["javascript"]:
|
if platform in ["javascript"]:
|
||||||
return False # Not yet supported
|
return False # Not yet supported
|
||||||
return True
|
return True
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return platform != "android"
|
return env['tools']
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
pass
|
pass
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return env['tools']
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
# Tools only, disabled for non-tools
|
pass
|
||||||
# TODO: Find a cleaner way to achieve that
|
|
||||||
if not env['tools']:
|
|
||||||
env['module_squish_enabled'] = False
|
|
||||||
env.disabled_modules.append("squish")
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return platform != "android" and platform != "ios"
|
return (env['tools'] and platform not in ["android", "ios"])
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
if not env['tools']:
|
pass
|
||||||
env['builtin_thekla_atlas'] = False
|
|
||||||
env.disabled_modules.append("thekla_unwrap")
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return env['tools']
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
# Tools only, disabled for non-tools
|
pass
|
||||||
# TODO: Find a cleaner way to achieve that
|
|
||||||
if not env['tools']:
|
|
||||||
env['module_tinyexr_enabled'] = False
|
|
||||||
env.disabled_modules.append("tinyexr")
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return platform != 'iphone'
|
return platform not in ['iphone']
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
pass
|
pass
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
def can_build(platform):
|
def can_build(env, platform):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
|
def can_build(env, platform):
|
||||||
def can_build(platform):
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user