aboutsummaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorDudemanguy <random342@airmail.cc>2024-06-22 10:59:05 -0500
committerJussi Pakkanen <jpakkane@gmail.com>2024-06-23 15:10:42 +0300
commit9be6e653d49957c974af2c171257cbaf942abbb9 (patch)
tree788b00fc4997ec587ccc64e21cba1b7d7f030dc1 /test cases
parenta111c28ecef721af960721c26b40f4e5108760c7 (diff)
downloadmeson-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.build3
-rw-r--r--test cases/common/26 find program/print-version-custom-argument.py8
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')