diff --git a/SConscript b/SConscript index 96b1098..acd10e5 100644 --- a/SConscript +++ b/SConscript @@ -367,6 +367,7 @@ def _wrap_depends(depends): def _wrapped(env, dependant, dependency): if isinstance(dependant, _Target) or isinstance(dependency, _Target): env.Append(SPP_TARGET_DEPENDENCIES = [(dependant, dependency)]) + return elif isinstance(dependant, dict) and '_target' in dependant: dependant = dependant['_target'] elif isinstance(dependency, dict) and '_target' in dependency: @@ -418,6 +419,12 @@ def _finalize(env: Environment): _build_target(target) for target in env['SPP_DEFAULT_TARGETS']: env.Default(target.target) + for dependant, dependency in env['SPP_TARGET_DEPENDENCIES']: + if isinstance(dependant, _Target): + dependant = dependant.target + if isinstance(dependency, _Target): + dependency = dependency.target + env.Depends(dependant, dependency) def _get_fallback_cache_dir() -> str: return Dir('#cache').abspath