diff --git a/meson.build b/meson.build index d1af0bc8fc..57c3f0070e 100644 --- a/meson.build +++ b/meson.build @@ -24,13 +24,13 @@ ensure_not_uninstalled = ''' import os assert('GST_ENV' not in os.environ) ''' -cmdres = run_command(python3, '-c', ensure_not_uninstalled) +cmdres = run_command(python3, '-c', ensure_not_uninstalled, check: false) if cmdres.returncode() != 0 error('Do not run `ninja` or `meson` for gst-build inside the uninstalled environment, you will run into problems') endif # Install gst-indent pre-commit hook -run_command(python3, '-c', 'import shutil; shutil.copy("scripts/git-hooks/multi-pre-commit.hook", ".git/hooks/pre-commit")') +run_command(python3, '-c', 'import shutil; shutil.copy("scripts/git-hooks/multi-pre-commit.hook", ".git/hooks/pre-commit")', check: false) # Ensure that the user does not have Strawberry Perl in PATH, since it ships # with a pkg-config.bat and broken pkgconfig files for libffi and zlib. Will @@ -41,7 +41,7 @@ import os assert(r'Strawberry\perl\bin' not in os.environ['PATH']) ''' if build_system == 'windows' and meson.version().version_compare('<0.60.0') - cmdres = run_command(python3, '-c', ensure_no_strawberry_perl) + cmdres = run_command(python3, '-c', ensure_no_strawberry_perl, check: false) if cmdres.returncode() != 0 error('You have Strawberry Perl in PATH which is known to cause build issues with Meson < 0.60.0. Please remove it from PATH, uninstall it, or upgrade Meson.') endif @@ -53,9 +53,9 @@ documented_projects = '' if not meson.is_subproject() and cc.get_id() == 'msvc' uname = find_program('uname', required: false) if uname.found() - ret = run_command(uname, '-o') + ret = run_command(uname, '-o', check: false) if ret.returncode() == 0 and ret.stdout().to_lower() == 'msys' - ret = run_command(uname, '-r') + ret = run_command(uname, '-r', check: false) # The kernel version returned by uname is actually the msys version if ret.returncode() == 0 and ret.stdout().startswith('2') # If a system zlib is found, disable UNIX features in zlib.h and zconf.h diff --git a/subprojects/gst-devtools/debug-viewer/meson.build b/subprojects/gst-devtools/debug-viewer/meson.build index 263b7958a2..c001d392b1 100644 --- a/subprojects/gst-devtools/debug-viewer/meson.build +++ b/subprojects/gst-devtools/debug-viewer/meson.build @@ -78,8 +78,7 @@ icondir = join_paths(get_option('datadir'), 'icons/hicolor') subdir('data') -if run_command(python3, - '-c', 'import gi; gi.require_version("Gtk", "3.0")').returncode() == 0 +if run_command(python3, '-c', 'import gi; gi.require_version("Gtk", "3.0")', check: false).returncode() == 0 test('gst-debug-viewer', python3, args: ['-m', 'unittest'], workdir: meson.current_source_dir()) endif diff --git a/subprojects/gst-devtools/meson.build b/subprojects/gst-devtools/meson.build index 7058806861..7d50af5d10 100644 --- a/subprojects/gst-devtools/meson.build +++ b/subprojects/gst-devtools/meson.build @@ -172,5 +172,3 @@ if not get_option('debug_viewer').disabled() subdir('debug-viewer') endif subdir('docs') - -run_command(python3, '-c', 'import shutil; shutil.copy("hooks/multi-pre-commit.hook", ".git/hooks/pre-commit")') diff --git a/subprojects/gst-docs/meson.build b/subprojects/gst-docs/meson.build index bcef479947..95efff66bd 100644 --- a/subprojects/gst-docs/meson.build +++ b/subprojects/gst-docs/meson.build @@ -9,7 +9,7 @@ if not hotdoc_p.found() endif hotdoc_req = '>= 0.12.2' -hotdoc_version = run_command(hotdoc_p, '--version').stdout() +hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout() if not hotdoc_version.version_compare(hotdoc_req) error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) endif @@ -49,6 +49,7 @@ with open(fname, 'r') as f: python3, '-c', read_file_contents, fname, + check: false, ) if cmdres.returncode() == 0 built_subprojects = cmdres.stdout().strip() diff --git a/subprojects/gst-editing-services/docs/meson.build b/subprojects/gst-editing-services/docs/meson.build index c22a9d4249..bfffd41144 100644 --- a/subprojects/gst-editing-services/docs/meson.build +++ b/subprojects/gst-editing-services/docs/meson.build @@ -55,7 +55,7 @@ if not hotdoc_p.found() endif hotdoc_req = '>= 0.11.0' -hotdoc_version = run_command(hotdoc_p, '--version').stdout() +hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout() if not hotdoc_version.version_compare(hotdoc_req) if get_option('doc').enabled() error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) @@ -118,12 +118,8 @@ import json with open("@0@") as f: print(':'.join(json.load(f).keys()), end='') -'''.format(plugins_cache)) - -assert(list_plugin_res.returncode() == 0, - 'Could not list plugins from @0@\n@1@\n@1@'.format(plugins_cache, list_plugin_res.stdout(), list_plugin_res.stderr())) - - +'''.format(plugins_cache), + check: true) foreach plugin_name: list_plugin_res.stdout().split(':') plugins_doc += [hotdoc.generate_doc(plugin_name, project_version: apiversion, diff --git a/subprojects/gst-editing-services/meson.build b/subprojects/gst-editing-services/meson.build index b4479d3c94..f2172f84bb 100644 --- a/subprojects/gst-editing-services/meson.build +++ b/subprojects/gst-editing-services/meson.build @@ -174,18 +174,17 @@ elif build_gir if not cc.compiles('#include ', dependencies: [python_dep]) error_msg = 'Could not compile a simple program against python' elif pylib_loc == '' - check_path_exists = 'import os, sys; assert(os.path.exists(sys.argv[1]))' + fsmod = import('fs') pylib_loc = python.get_variable('LIBPL', '') if host_machine.system() != 'windows' and host_machine.system() != 'darwin' pylib_ldlibrary = python.get_variable('LDLIBRARY', '') - if run_command(python, '-c', check_path_exists, join_paths(pylib_loc, pylib_ldlibrary)).returncode() != 0 + if not fsmod.exists(pylib_loc / pylib_ldlibrary) # Workaround for Fedora pylib_loc = python.get_variable('LIBDIR', '') message('pylib_loc = @0@'.format(pylib_loc)) endif - res = run_command(python, '-c', check_path_exists, join_paths(pylib_loc, pylib_ldlibrary)) - if res.returncode() != 0 + if not fsmod.exists(pylib_loc / pylib_ldlibrary) error_msg = '@0@ doesn\' exist, can\'t use python'.format(join_paths(pylib_loc, pylib_ldlibrary)) endif endif @@ -310,7 +309,7 @@ else: ''' pygi_override_dir = get_option('pygi-overrides-dir') if pygi_override_dir == '' - cres = run_command(python3, '-c', override_detector, get_option('prefix')) + cres = run_command(python3, '-c', override_detector, get_option('prefix'), check: false) if cres.returncode() == 0 pygi_override_dir = cres.stdout().strip() endif @@ -327,15 +326,10 @@ endif # Set release date if gst_version_nano == 0 extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') - run_result = run_command(extract_release_date, gst_version, files('gst-editing-services.doap')) - if run_result.returncode() == 0 - release_date = run_result.stdout().strip() - cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) - message('Package release date: ' + release_date) - else - # Error out if our release can't be found in the .doap file - error(run_result.stderr()) - endif + run_result = run_command(extract_release_date, gst_version, files('gst-editing-services.doap'), check: true) + release_date = run_result.stdout().strip() + cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) endif if gio_dep.version().version_compare('< 2.67.4') diff --git a/subprojects/gst-examples/webrtc/check/meson.build b/subprojects/gst-examples/webrtc/check/meson.build index c3b64ed2f6..d54907677a 100644 --- a/subprojects/gst-examples/webrtc/check/meson.build +++ b/subprojects/gst-examples/webrtc/check/meson.build @@ -3,7 +3,7 @@ tests = [ ] check_test = find_program ('configure_test_check.py') -have_webrtc_check_deps = run_command (check_test).returncode() == 0 +have_webrtc_check_deps = run_command (check_test, check: false).returncode() == 0 if openssl.found() and have_webrtc_check_deps test_deps = [certs] diff --git a/subprojects/gst-examples/webrtc/sendrecv/gst-sharp/meson.build b/subprojects/gst-examples/webrtc/sendrecv/gst-sharp/meson.build index 4e518dfd2a..5212b4dee4 100644 --- a/subprojects/gst-examples/webrtc/sendrecv/gst-sharp/meson.build +++ b/subprojects/gst-examples/webrtc/sendrecv/gst-sharp/meson.build @@ -8,19 +8,16 @@ nuget = find_program('nuget.py') dependencies = [] foreach dependency, version: { 'Newtonsoft.Json': '11.0.2', 'WebSocketSharp': '1.0.3-rc11'} message('Getting @0@:@1@'.format(dependency, version)) - get_dep= run_command(nuget, 'get', + get_dep = run_command(nuget, 'get', '--builddir', dependency, '--nuget-name', dependency, '--nuget-version', version, '--csharp-version=net45', '--current-builddir', meson.current_build_dir(), '--builddir', meson.global_build_root(), # FIXME: --builddir specified twice?! + check: true, ) - if get_dep.returncode() != 0 - error('Failed to get @0@-@1@: @2@'.format(dependency, version, get_dep.stderr())) - endif - link_args = get_dep.stdout().split() dependencies += [declare_dependency(link_args: link_args, version: version)] foreach path: get_dep.stdout().split() diff --git a/subprojects/gst-libav/docs/meson.build b/subprojects/gst-libav/docs/meson.build index b51af66035..5f25f20837 100644 --- a/subprojects/gst-libav/docs/meson.build +++ b/subprojects/gst-libav/docs/meson.build @@ -37,7 +37,7 @@ if not hotdoc_p.found() endif hotdoc_req = '>= 0.11.0' -hotdoc_version = run_command(hotdoc_p, '--version').stdout() +hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout() if not hotdoc_version.version_compare(hotdoc_req) if get_option('doc').enabled() error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) diff --git a/subprojects/gst-libav/meson.build b/subprojects/gst-libav/meson.build index a114631485..296f57ee59 100644 --- a/subprojects/gst-libav/meson.build +++ b/subprojects/gst-libav/meson.build @@ -207,15 +207,10 @@ subdir('tests') # Set release date if gst_version_nano == 0 extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') - run_result = run_command(extract_release_date, gst_version, files('gst-libav.doap')) - if run_result.returncode() == 0 - release_date = run_result.stdout().strip() - cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) - message('Package release date: ' + release_date) - else - # Error out if our release can't be found in the .doap file - error(run_result.stderr()) - endif + run_result = run_command(extract_release_date, gst_version, files('gst-libav.doap'), check: true) + release_date = run_result.stdout().strip() + cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) endif configure_file(output: 'config.h', configuration: cdata) diff --git a/subprojects/gst-omx/meson.build b/subprojects/gst-omx/meson.build index e67d7b2553..c0ad4eaa85 100644 --- a/subprojects/gst-omx/meson.build +++ b/subprojects/gst-omx/meson.build @@ -415,15 +415,10 @@ subdir('docs') # Set release date if gst_version_nano == 0 extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') - run_result = run_command(extract_release_date, gst_version, files('gst-omx.doap')) - if run_result.returncode() == 0 - release_date = run_result.stdout().strip() - cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) - message('Package release date: ' + release_date) - else - # Error out if our release can't be found in the .doap file - error(run_result.stderr()) - endif + run_result = run_command(extract_release_date, gst_version, files('gst-omx.doap'), check: true) + release_date = run_result.stdout().strip() + cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) endif configure_file(output: 'config.h', configuration: cdata) diff --git a/subprojects/gst-plugins-bad/docs/meson.build b/subprojects/gst-plugins-bad/docs/meson.build index 310bcaf97e..88c149343d 100644 --- a/subprojects/gst-plugins-bad/docs/meson.build +++ b/subprojects/gst-plugins-bad/docs/meson.build @@ -57,7 +57,7 @@ if not hotdoc_p.found() endif hotdoc_req = '>= 0.11.0' -hotdoc_version = run_command(hotdoc_p, '--version').stdout() +hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout() if not hotdoc_version.version_compare(hotdoc_req) if get_option('doc').enabled() error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) @@ -215,10 +215,8 @@ import json with open("@0@") as f: print(':'.join(json.load(f).keys()), end='') -'''.format(plugins_cache)) - -assert(list_plugin_res.returncode() == 0, - 'Could not list plugins from @0@'.format(plugins_cache)) +'''.format(plugins_cache), + check: true) plugins_doc = [] foreach plugin_name: list_plugin_res.stdout().split(':') diff --git a/subprojects/gst-plugins-bad/ext/opencv/meson.build b/subprojects/gst-plugins-bad/ext/opencv/meson.build index 709c7e6a44..1d86b9092d 100644 --- a/subprojects/gst-plugins-bad/ext/opencv/meson.build +++ b/subprojects/gst-plugins-bad/ext/opencv/meson.build @@ -89,15 +89,15 @@ if opencv_found # Check the data dir used by opencv for its xml data files # Use prefix from pkg-config to be compatible with cross-compilation - r = run_command('test', '-d', opencv_prefix + '/share/opencv') + r = run_command('test', '-d', opencv_prefix + '/share/opencv', check: false) if r.returncode() == 0 gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv"' else - r = run_command('test', '-d', opencv_prefix + '/share/OpenCV') + r = run_command('test', '-d', opencv_prefix + '/share/OpenCV', check: false) if r.returncode() == 0 gstopencv_cargs += '-DOPENCV_PATH_NAME="OpenCV"' else - r = run_command('test', '-d', opencv_prefix + '/share/opencv4') + r = run_command('test', '-d', opencv_prefix + '/share/opencv4', check: false) if r.returncode() == 0 gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"' else diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/meson.build b/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/meson.build index 090a7c7161..1e5b4ac0c9 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/meson.build +++ b/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/meson.build @@ -110,7 +110,7 @@ if ['ios', 'darwin'].contains(host_system) # https://github.com/KhronosGroup/MoltenVK/issues/492 vulkan_dep = cc.find_library('MoltenVK', required : get_option('vulkan')) elif host_system == 'windows' - vulkan_root = run_command(python3, '-c', 'import os; print(os.environ.get("VK_SDK_PATH"))').stdout().strip() + vulkan_root = run_command(python3, '-c', 'import os; print(os.environ.get("VK_SDK_PATH"))', check: false).stdout().strip() if vulkan_root != '' and vulkan_root != 'None' vulkan_lib_dir = '' if build_machine.cpu_family() == 'x86_64' diff --git a/subprojects/gst-plugins-bad/meson.build b/subprojects/gst-plugins-bad/meson.build index 2b2db15453..cbb9e65638 100644 --- a/subprojects/gst-plugins-bad/meson.build +++ b/subprojects/gst-plugins-bad/meson.build @@ -536,15 +536,10 @@ subdir('scripts') # Set release date if gst_version_nano == 0 extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') - run_result = run_command(extract_release_date, gst_version, files('gst-plugins-bad.doap')) - if run_result.returncode() == 0 - release_date = run_result.stdout().strip() - cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) - message('Package release date: ' + release_date) - else - # Error out if our release can't be found in the .doap file - error(run_result.stderr()) - endif + run_result = run_command(extract_release_date, gst_version, files('gst-plugins-bad.doap'), check: true) + release_date = run_result.stdout().strip() + cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) endif if glib_dep.version().version_compare('< 2.67.4') diff --git a/subprojects/gst-plugins-bad/sys/msdk/meson.build b/subprojects/gst-plugins-bad/sys/msdk/meson.build index f468403262..24aabc7612 100644 --- a/subprojects/gst-plugins-bad/sys/msdk/meson.build +++ b/subprojects/gst-plugins-bad/sys/msdk/meson.build @@ -51,7 +51,7 @@ if mfx_api != 'oneVPL' use_msdk = true else # Old versions of MediaSDK don't provide a pkg-config file - mfx_root = run_command(python3, '-c', 'import os; print(os.environ.get("INTELMEDIASDKROOT", os.environ.get("MFX_HOME", "")))').stdout().strip() + mfx_root = run_command(python3, '-c', 'import os; print(os.environ.get("INTELMEDIASDKROOT", os.environ.get("MFX_HOME", "")))', check: false).stdout().strip() if mfx_root != '' mfx_libdir = [mfx_root + '/lib/lin_x64', mfx_root + '/lib/x64', mfx_root + '/lib64', mfx_root + '/lib'] diff --git a/subprojects/gst-plugins-base/docs/meson.build b/subprojects/gst-plugins-base/docs/meson.build index cdc39244cf..4cc5dc0404 100644 --- a/subprojects/gst-plugins-base/docs/meson.build +++ b/subprojects/gst-plugins-base/docs/meson.build @@ -58,7 +58,7 @@ if not hotdoc_p.found() endif hotdoc_req = '>= 0.11.0' -hotdoc_version = run_command(hotdoc_p, '--version').stdout() +hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout() if not hotdoc_version.version_compare(hotdoc_req) if get_option('doc').enabled() error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) @@ -202,12 +202,8 @@ import json with open("@0@") as f: print(':'.join(json.load(f).keys()), end='') -'''.format(plugins_cache)) - -assert(list_plugin_res.returncode() == 0, - 'Could not list plugins from @0@\n@1@\n@1@'.format(plugins_cache, list_plugin_res.stdout(), list_plugin_res.stderr())) - - +'''.format(plugins_cache), + check: true) foreach plugin_name: list_plugin_res.stdout().split(':') plugins_doc += [hotdoc.generate_doc(plugin_name, project_version: api_version, diff --git a/subprojects/gst-plugins-base/meson.build b/subprojects/gst-plugins-base/meson.build index 7f48c7d14f..404c983f01 100644 --- a/subprojects/gst-plugins-base/meson.build +++ b/subprojects/gst-plugins-base/meson.build @@ -524,15 +524,10 @@ endif # Set release date if gst_version_nano == 0 extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') - run_result = run_command(extract_release_date, gst_version, files('gst-plugins-base.doap')) - if run_result.returncode() == 0 - release_date = run_result.stdout().strip() - core_conf.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) - message('Package release date: ' + release_date) - else - # Error out if our release can't be found in the .doap file - error(run_result.stderr()) - endif + run_result = run_command(extract_release_date, gst_version, files('gst-plugins-base.doap'), check: true) + release_date = run_result.stdout().strip() + core_conf.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) endif if gio_dep.version().version_compare('< 2.67.4') diff --git a/subprojects/gst-plugins-good/docs/meson.build b/subprojects/gst-plugins-good/docs/meson.build index 150e04c6dc..beed1ae125 100644 --- a/subprojects/gst-plugins-good/docs/meson.build +++ b/subprojects/gst-plugins-good/docs/meson.build @@ -39,7 +39,7 @@ if not hotdoc_p.found() endif hotdoc_req = '>= 0.11.0' -hotdoc_version = run_command(hotdoc_p, '--version').stdout() +hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout() if not hotdoc_version.version_compare(hotdoc_req) if get_option('doc').enabled() error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) @@ -83,11 +83,8 @@ import json with open("@0@") as f: print(':'.join(json.load(f).keys()), end='') -'''.format(plugins_cache)) - -assert(list_plugin_res.returncode() == 0, - 'Could not list plugins from @0@'.format(plugins_cache)) - +'''.format(plugins_cache), + check: true) foreach plugin_name: list_plugin_res.stdout().split(':') plugins_doc += [hotdoc.generate_doc(plugin_name, project_version: api_version, diff --git a/subprojects/gst-plugins-good/meson.build b/subprojects/gst-plugins-good/meson.build index 60e390ff72..2097f9764a 100644 --- a/subprojects/gst-plugins-good/meson.build +++ b/subprojects/gst-plugins-good/meson.build @@ -390,7 +390,7 @@ if host_cpu == 'x86_64' if nasm.found() # We can't use the version: kwarg for find_program because old versions # of nasm don't support --version - ret = run_command(nasm, '-v') + ret = run_command(nasm, '-v', check: false) if ret.returncode() == 0 nasm_version = ret.stdout().strip().split()[2] nasm_req = '>=2.13' @@ -489,15 +489,10 @@ subdir('scripts') # Set release date if gst_version_nano == 0 extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') - run_result = run_command(extract_release_date, gst_version, files('gst-plugins-good.doap')) - if run_result.returncode() == 0 - release_date = run_result.stdout().strip() - cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) - message('Package release date: ' + release_date) - else - # Error out if our release can't be found in the .doap file - error(run_result.stderr()) - endif + run_result = run_command(extract_release_date, gst_version, files('gst-plugins-good.doap'), check: true) + release_date = run_result.stdout().strip() + cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) endif if gio_dep.version().version_compare('< 2.67.4') diff --git a/subprojects/gst-plugins-ugly/docs/meson.build b/subprojects/gst-plugins-ugly/docs/meson.build index 73a7d0532d..f71d07bb96 100644 --- a/subprojects/gst-plugins-ugly/docs/meson.build +++ b/subprojects/gst-plugins-ugly/docs/meson.build @@ -39,7 +39,7 @@ if not hotdoc_p.found() endif hotdoc_req = '>= 0.11.0' -hotdoc_version = run_command(hotdoc_p, '--version').stdout() +hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout() if not hotdoc_version.version_compare(hotdoc_req) if get_option('doc').enabled() error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) @@ -84,11 +84,8 @@ import json with open("@0@") as f: print(':'.join(json.load(f).keys()), end='') -'''.format(plugins_cache)) - -assert(list_plugin_res.returncode() == 0, - 'Could not list plugins from @0@'.format(plugins_cache)) - +'''.format(plugins_cache), + check: true) foreach plugin_name: list_plugin_res.stdout().split(':') plugins_doc += [hotdoc.generate_doc(plugin_name, project_version: api_version, diff --git a/subprojects/gst-plugins-ugly/meson.build b/subprojects/gst-plugins-ugly/meson.build index b015f26a53..b9c6772ba0 100644 --- a/subprojects/gst-plugins-ugly/meson.build +++ b/subprojects/gst-plugins-ugly/meson.build @@ -296,15 +296,10 @@ subdir('scripts') # Set release date if gst_version_nano == 0 extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') - run_result = run_command(extract_release_date, gst_version, files('gst-plugins-ugly.doap')) - if run_result.returncode() == 0 - release_date = run_result.stdout().strip() - cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) - message('Package release date: ' + release_date) - else - # Error out if our release can't be found in the .doap file - error(run_result.stderr()) - endif + run_result = run_command(extract_release_date, gst_version, files('gst-plugins-ugly.doap'), check: true) + release_date = run_result.stdout().strip() + cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) endif configure_file(output : 'config.h', configuration : cdata) diff --git a/subprojects/gst-python/meson.build b/subprojects/gst-python/meson.build index 56b4834287..7d1f45356e 100644 --- a/subprojects/gst-python/meson.build +++ b/subprojects/gst-python/meson.build @@ -34,20 +34,19 @@ python_dep = python.dependency(embed:true, required : true) python_abi_flags = python.get_variable('ABIFLAGS', '') pylib_loc = get_option('libpython-dir') if pylib_loc == '' - check_path_exists = 'import os, sys; assert(os.path.exists(sys.argv[1]))' + fsmod = import('fs') pylib_loc = python.get_variable('LIBPL', '') if host_machine.system() != 'windows' and host_machine.system() != 'darwin' pylib_ldlibrary = python.get_variable('LDLIBRARY', '') - if run_command(python, '-c', check_path_exists, join_paths(pylib_loc, pylib_ldlibrary)).returncode() != 0 + if not fsmod.exists(pylib_loc / pylib_ldlibrary) # Workaround for Fedora pylib_loc = python.get_variable('LIBDIR', '') message('pylib_loc = @0@'.format(pylib_loc)) endif - assert( - run_command(python, '-c', check_path_exists, join_paths(pylib_loc, pylib_ldlibrary)).returncode() == 0, - 'Python dynamic library path could not be determined' - ) + if not fsmod.exists(pylib_loc / pylib_ldlibrary) + error('Python dynamic library path could not be determined') + endif endif endif diff --git a/subprojects/gst-python/testsuite/meson.build b/subprojects/gst-python/testsuite/meson.build index 8ead4b7b4c..13738a9f36 100644 --- a/subprojects/gst-python/testsuite/meson.build +++ b/subprojects/gst-python/testsuite/meson.build @@ -10,21 +10,14 @@ pluginsdirs = [] if not meson.is_subproject() pkgconfig = find_program('pkg-config') runcmd = run_command(pkgconfig, '--variable=pluginsdir', - 'gstreamer-' + api_version) - if runcmd.returncode() == 0 - pluginsdirs = runcmd.stdout().split() - else - error('Could not determine GStreamer core plugins directory for unit tests.') - endif + 'gstreamer-' + api_version, check: true) + pluginsdirs = runcmd.stdout().split() endif runcmd = run_command(python, '-c', '''with open("@0@/mesonconfig.py", "w") as f: f.write("path='@1@'")'''.format( - join_paths(meson.current_build_dir()), join_paths(meson.current_build_dir(), '..'))) - -if runcmd.returncode() != 0 - error('Could not configure testsuite config file.' + runcmd.stderr()) -endif + join_paths(meson.current_build_dir()), join_paths(meson.current_build_dir(), '..')), + check: true) pluginsdirs = [] if gst_dep.type_name() == 'pkgconfig' diff --git a/subprojects/gst-rtsp-server/docs/meson.build b/subprojects/gst-rtsp-server/docs/meson.build index cc56a16c35..fa649cf077 100644 --- a/subprojects/gst-rtsp-server/docs/meson.build +++ b/subprojects/gst-rtsp-server/docs/meson.build @@ -57,7 +57,7 @@ if not hotdoc_p.found() endif hotdoc_req = '>= 0.11.0' -hotdoc_version = run_command(hotdoc_p, '--version').stdout() +hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout() if not hotdoc_version.version_compare(hotdoc_req) if get_option('doc').enabled() error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) diff --git a/subprojects/gst-rtsp-server/meson.build b/subprojects/gst-rtsp-server/meson.build index 103d97ccc7..61bbae83b9 100644 --- a/subprojects/gst-rtsp-server/meson.build +++ b/subprojects/gst-rtsp-server/meson.build @@ -208,15 +208,10 @@ subdir('docs') # Set release date if gst_version_nano == 0 extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') - run_result = run_command(extract_release_date, gst_version, files('gst-rtsp-server.doap')) - if run_result.returncode() == 0 - release_date = run_result.stdout().strip() - cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) - message('Package release date: ' + release_date) - else - # Error out if our release can't be found in the .doap file - error(run_result.stderr()) - endif + run_result = run_command(extract_release_date, gst_version, files('gst-rtsp-server.doap'), check: true) + release_date = run_result.stdout().strip() + cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) endif configure_file(output: 'config.h', configuration: cdata) diff --git a/subprojects/gstreamer-sharp/Tests/meson.build b/subprojects/gstreamer-sharp/Tests/meson.build index 8e50ead9f2..59bf9d182b 100644 --- a/subprojects/gstreamer-sharp/Tests/meson.build +++ b/subprojects/gstreamer-sharp/Tests/meson.build @@ -13,22 +13,19 @@ if nunit_console.found() '--csharp-version=net45', '--current-builddir', meson.current_build_dir(), '--builddir', meson.build_root(), # FIXME: --builddir specified twice?! + check: true, ) nunit_mono_path = [] nunit_dep = dependency('mono-nunit', required: false, version: ['>=2.6', '< 2.7']) if not nunit_dep.found() - if get_nunit_res.returncode() != 0 - message('Failed to get NUnit: ' + get_nunit_res.stderr()) - else - foreach path: get_nunit_res.stdout().split() - nunit_mono_path += [join_paths(meson.build_root(), path.strip('-r:'), '..')] - endforeach + foreach path: get_nunit_res.stdout().split() + nunit_mono_path += [meson.build_root() / path.strip('-r:') / '..'] + endforeach - nunit_dep = declare_dependency(link_args: get_nunit_res.stdout().split(), - version: nunit_version) - endif + nunit_dep = declare_dependency(link_args: get_nunit_res.stdout().split(), + version: nunit_version) endif if nunit_mono_path.length() > 0 diff --git a/subprojects/gstreamer-vaapi/docs/meson.build b/subprojects/gstreamer-vaapi/docs/meson.build index 3b2a70c084..cbff75cba3 100644 --- a/subprojects/gstreamer-vaapi/docs/meson.build +++ b/subprojects/gstreamer-vaapi/docs/meson.build @@ -37,7 +37,7 @@ if not hotdoc_p.found() endif hotdoc_req = '>= 0.11.0' -hotdoc_version = run_command(hotdoc_p, '--version').stdout() +hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout() if not hotdoc_version.version_compare(hotdoc_req) if get_option('doc').enabled() error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) diff --git a/subprojects/gstreamer-vaapi/meson.build b/subprojects/gstreamer-vaapi/meson.build index b7bd10ffc6..09273b25e1 100644 --- a/subprojects/gstreamer-vaapi/meson.build +++ b/subprojects/gstreamer-vaapi/meson.build @@ -204,15 +204,10 @@ subdir('docs') # Set release date if gst_version_nano == 0 extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') - run_result = run_command(extract_release_date, gst_version, files('gstreamer-vaapi.doap')) - if run_result.returncode() == 0 - release_date = run_result.stdout().strip() - cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) - message('Package release date: ' + release_date) - else - # Error out if our release can't be found in the .doap file - error(run_result.stderr()) - endif + run_result = run_command(extract_release_date, gst_version, files('gstreamer-vaapi.doap'), check: true) + release_date = run_result.stdout().strip() + cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) endif if gmodule_dep.version().version_compare('< 2.67.4') diff --git a/subprojects/gstreamer/docs/meson.build b/subprojects/gstreamer/docs/meson.build index 148c6e08ba..26331d7f3a 100644 --- a/subprojects/gstreamer/docs/meson.build +++ b/subprojects/gstreamer/docs/meson.build @@ -42,7 +42,7 @@ if not hotdoc_p.found() endif hotdoc_req = '>= 0.11.0' -hotdoc_version = run_command(hotdoc_p, '--version').stdout() +hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout() if not hotdoc_version.version_compare(hotdoc_req) if get_option('doc').enabled() error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) diff --git a/subprojects/gstreamer/gst/parse/meson.build b/subprojects/gstreamer/gst/parse/meson.build index 161f4801ea..b79a07caf8 100644 --- a/subprojects/gstreamer/gst/parse/meson.build +++ b/subprojects/gstreamer/gst/parse/meson.build @@ -33,11 +33,7 @@ bison_cdata = configuration_data() bison_min_version='2.4' bison = find_program('bison', 'win_bison') -bversion_res = run_command([bison, '--version']) -if bversion_res.returncode() != 0 - error('Could not get bison version (@0@)'.format(bversion_res.stderr())) -endif - +bversion_res = run_command([bison, '--version'], check: true) bversion = bversion_res.stdout().split('\n')[0].split(' ')[-1].strip() if bversion.version_compare('<' + bison_min_version) error('bison version @0@ >= @1@: NO'.format(bversion, bison_min_version)) diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build index d20fe0040f..5bb5ccb3e6 100644 --- a/subprojects/gstreamer/meson.build +++ b/subprojects/gstreamer/meson.build @@ -608,15 +608,10 @@ subdir('scripts') # Set release date if gst_version_nano == 0 extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') - run_result = run_command(extract_release_date, gst_version, files('gstreamer.doap')) - if run_result.returncode() == 0 - release_date = run_result.stdout().strip() - cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) - message('Package release date: ' + release_date) - else - # Error out if our release can't be found in the .doap file - error(run_result.stderr()) - endif + run_result = run_command(extract_release_date, gst_version, files('gstreamer.doap'), check: true) + release_date = run_result.stdout().strip() + cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) endif configure_file(output : 'config.h', configuration : cdata) diff --git a/tests/python/meson.build b/tests/python/meson.build index aae7cf63bd..14f5af4b84 100644 --- a/tests/python/meson.build +++ b/tests/python/meson.build @@ -8,7 +8,7 @@ endif root_rel = '../..' python = import('python').find_installation() -if run_command(python, '-c', 'import gi').returncode() != 0 +if run_command(python, '-c', 'import gi', check: false).returncode() != 0 message('PyGObject not found, not running PyGObject tests') subdir_done() endif