@typed_pos_args('run_target', str)
@typed_kwargs('run_target', COMMAND_KW, DEPENDS_KW, ENV_KW.evolve(since='0.57.0'))
def func_run_target(self, node: mparser.FunctionNode, args: T.Tuple[str], kwargs: 'kwargs.RunTarget') -> build.RunTarget:
    all_args = kwargs['command'].copy()
    for i in listify(all_args):
        if (isinstance(i, ExternalProgram) and (not i.found())):
            raise InterpreterException(f'Tried to use non-existing executable {i.name!r}')
    if isinstance(all_args[0], str):
        all_args[0] = self.find_program_impl([all_args[0]])
    name = args[0]
    tg = build.RunTarget(name, all_args, kwargs['depends'], self.subdir, self.subproject, kwargs['env'])
    self.add_target(name, tg)
    full_name = (self.subproject, name)
    assert (full_name not in self.build.run_target_names)
    self.build.run_target_names.add(full_name)
    return tg
@typed_pos_args('run_target', str)
@typed_kwargs('run_target', COMMAND_KW, DEPENDS_KW, ENV_KW.evolve(since='0.57.0'))
def func_run_target(self, node: mparser.FunctionNode, args: T.Tuple[str], kwargs: 'kwargs.RunTarget') -> build.RunTarget:
    all_args = kwargs['command'].copy()
    for i in listify(all_args):
        if (isinstance(i, ExternalProgram) and (not i.found())):
            raise InterpreterException(f'Tried to use non-existing executable {i.name!r}')
    if isinstance(all_args[0], str):
        all_args[0] = self.find_program_impl([all_args[0]])
    name = args[0]
    tg = build.RunTarget(name, all_args, kwargs['depends'], self.subdir, self.subproject, kwargs['env'])
    self.add_target(name, tg)
    full_name = (self.subproject, name)
    assert (full_name not in self.build.run_target_names)
    self.build.run_target_names.add(full_name)
    return tg