diff --git a/SConscript b/SConscript index 4513115..2cb0c15 100644 --- a/SConscript +++ b/SConscript @@ -56,6 +56,15 @@ def _rglob(env: Environment, root_path: str, pattern: str, **kwargs): result_nodes.extend(env.Glob(f'{path}/{pattern}', **kwargs)) return sorted(result_nodes) +def _make_interface(env: Environment, dependencies: list = []): + kwargs = {} + for dependency in dependencies: + _inject_dependency(dependency, kwargs) + return { + 'CPPPATH': kwargs.get('CPPPATH', []), + 'CPPDEFINES': kwargs.get('CPPDEFINES', []) + } + def _error(env: Environment, message: str): print(message, file=sys.stderr) env.Exit(1) @@ -383,6 +392,7 @@ elif env['COMPILER_FAMILY'] == 'clang': env.AddMethod(_cook, 'Cook') env.AddMethod(_parse_lib_conf, 'ParseLibConf') env.AddMethod(_rglob, 'RGlob') +env.AddMethod(_make_interface, 'MakeInterface') env.AddMethod(_error, 'Error') env.AddMethod(_wrap_builder(env.Library, is_lib = True), 'Library') env.AddMethod(_wrap_builder(env.StaticLibrary, is_lib = True), 'StaticLibrary')