diff options
author | Dudemanguy <random342@airmail.cc> | 2024-06-22 10:59:05 -0500 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2024-06-23 15:10:42 +0300 |
commit | 9be6e653d49957c974af2c171257cbaf942abbb9 (patch) | |
tree | 788b00fc4997ec587ccc64e21cba1b7d7f030dc1 /test cases | |
parent | a111c28ecef721af960721c26b40f4e5108760c7 (diff) | |
download | meson-9be6e653d49957c974af2c171257cbaf942abbb9.zip meson-9be6e653d49957c974af2c171257cbaf942abbb9.tar.gz meson-9be6e653d49957c974af2c171257cbaf942abbb9.tar.bz2 |
find_program: add a kwarg to specify custom version argument
When trying to get the version of a program, meson was previously
hardcoded to run the binary with `--version`. This does work with the
vast majority of programs, but there are a few outliers (e.g. ffmpeg)
which have an unusual argument for printing out the version. Support
these programs by introducing a version_argument kwarg in find_program
which allows users to override `--version` with whatever the custom
argument for printing the version may be for the program.
Diffstat (limited to 'test cases')
-rw-r--r-- | test cases/common/26 find program/meson.build | 3 | ||||
-rw-r--r-- | test cases/common/26 find program/print-version-custom-argument.py | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/test cases/common/26 find program/meson.build b/test cases/common/26 find program/meson.build index 3c4d15c..a20f6b4 100644 --- a/test cases/common/26 find program/meson.build +++ b/test cases/common/26 find program/meson.build @@ -32,6 +32,9 @@ assert(prog.version() == '1.0', 'Program version should be detectable') prog = find_program('print-version-with-prefix.py', version : '>=1.0') assert(prog.found(), 'Program version should match') +prog = find_program('print-version-custom-argument.py', version : '>=1.0', version_argument : '-version') +assert(prog.found(), 'Program version should match') + prog = find_program('test_subdir.py', required : false) assert(not prog.found(), 'Program should not be found') diff --git a/test cases/common/26 find program/print-version-custom-argument.py b/test cases/common/26 find program/print-version-custom-argument.py new file mode 100644 index 0000000..7d9ad58 --- /dev/null +++ b/test cases/common/26 find program/print-version-custom-argument.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 + +import sys + +if len(sys.argv) != 2 or sys.argv[1] != '-version': + exit(1) + +print('1.0') |