diff --git a/mesonbuild/interpreter/mesonmain.py b/mesonbuild/interpreter/mesonmain.py index a148f9624ae6..c82f933450c1 100644 --- a/mesonbuild/interpreter/mesonmain.py +++ b/mesonbuild/interpreter/mesonmain.py @@ -334,7 +334,7 @@ def override_find_program_method(self, args: T.Tuple[str, T.Union[mesonlib.File, self.interpreter.environment.build_dir) if not os.path.exists(abspath): raise InterpreterException(f'Tried to override {name} with a file that does not exist.') - exe = OverrideProgram(name, [abspath]) + exe = OverrideProgram(name, self.interpreter.project_version, command=[abspath]) self.interpreter.add_find_program_override(name, exe) @typed_kwargs( diff --git a/mesonbuild/programs.py b/mesonbuild/programs.py index 8f7d1c36c3f3..bbe8ea421cb4 100644 --- a/mesonbuild/programs.py +++ b/mesonbuild/programs.py @@ -340,6 +340,12 @@ class OverrideProgram(ExternalProgram): """A script overriding a program.""" + def __init__(self, name: str, version: str, command: T.Optional[T.List[str]] = None, + silent: bool = False, search_dir: T.Optional[str] = None, + extra_search_dirs: T.Optional[T.List[str]] = None): + self.cached_version = version + super().__init__(name, command=command, silent=silent, + search_dir=search_dir, extra_search_dirs=extra_search_dirs) def find_external_program(env: 'Environment', for_machine: MachineChoice, name: str, display_name: str, default_names: T.List[str],