interpreter: fix notfound_program method

Which should take a File or str, but only handles str correctly. Which
mypy would have caught for us, if we just had annotations here.
pull/10044/head
Dylan Baker 3 years ago committed by Eli Schwartz
parent b4a512b9f8
commit f03c712d17
  1. 6
      mesonbuild/interpreter/interpreter.py

@ -1439,8 +1439,10 @@ external dependencies (including libraries) must go to "dependencies".''')
raise InterpreterException(f'Tried to override executable "{name}" which has already been overridden.')
self.build.find_overrides[name] = exe
def notfound_program(self, args):
return NonExistingExternalProgram(' '.join(args))
def notfound_program(self, args: T.List[mesonlib.FileOrString]) -> ExternalProgram:
return NonExistingExternalProgram(' '.join(
[a if isinstance(a, str) else a.absolute_path(self.environment.source_dir, self.environment.build_dir)
for a in args]))
# TODO update modules to always pass `for_machine`. It is bad-form to assume
# the host machine.

Loading…
Cancel
Save