This fixes Meson errors like this: ../meson.build:697:19: ERROR: Command `/usr/bin/git -C /home/martin/code/git ls-files --deduplicate '*.h' ':!contrib' ':!compat/inet_ntop.c' ':!compat/inet_pton.c' ':!compat/nedmalloc' ':!compat/obstack.*' ':!compat/poll' ':!compat/regex' ':!sha1collisiondetection' ':!sha1dc' ':!t/unit-tests/clar' ':!t/t[0-9][0-9][0-9][0-9]*' ':!xdiff'` failed with status 129. Unfortunately, Meson only supports the external_program.version() method since Meson 0.62. So with older versions of Meson, we have to just assume that it exists (or maybe assume that it doesn't). Signed-off-by: Martin Storsjö <martin@xxxxxxxxx> --- meson.build | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 9bc1826cb6..717365baec 100644 --- a/meson.build +++ b/meson.build @@ -693,7 +693,14 @@ third_party_excludes = [ ] headers_to_check = [] -if git.found() and fs.exists(meson.project_source_root() / '.git') +if meson.version().version_compare('>=0.62') + new_enough_git = git.found() and git.version().version_compare('>=2.31') +else + # On Meson 0.61, we can't check git.version(), so we just have to + # assume that the found git is new enough. + new_enough_git = git.found() +endif +if new_enough_git and fs.exists(meson.project_source_root() / '.git') foreach header : run_command(git, '-C', meson.project_source_root(), 'ls-files', '--deduplicate', '*.h', third_party_excludes, check: true).stdout().split() headers_to_check += header endforeach -- 2.43.0