From acd047db157777f94680b9eaaa9dd15d50265c98 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Mon, 5 Sep 2016 17:43:13 -0300 Subject: [PATCH] meson: Properly find where GStreamer plugins are when using subprojects And fix building with meson 0.34 --- meson.build | 2 +- tests/check/getpluginsdir | 25 +++++++++++++++++++++++++ tests/check/meson.build | 3 ++- 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 tests/check/getpluginsdir diff --git a/meson.build b/meson.build index 1b446e528c..6b379ade74 100644 --- a/meson.build +++ b/meson.build @@ -152,7 +152,7 @@ gst_check_dep = dependency('gstreamer-check-1.0', version : gst_req, gst_controller_dep = dependency('gstreamer-controller-1.0', version : gst_req, fallback : ['gstreamer', 'gst_controller_dep']) -vs_module_defs_dir = meson.source_root() + '/win32/common/' +vs_module_defs_dir = meson.current_source_dir() + '/win32/common/' # Used by the *_mkenum.py helper scripts glib_mkenums = find_program('glib-mkenums') diff --git a/tests/check/getpluginsdir b/tests/check/getpluginsdir new file mode 100644 index 0000000000..102e3c8230 --- /dev/null +++ b/tests/check/getpluginsdir @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 + +import os +import sys +import subprocess + +builddir = os.environ['MESON_BUILD_ROOT'] + +res = '' +args = sys.argv[1:] +for i in range(0, len(args), 2): + project = args[i] + pkg_name = args[i + 1] + path = os.path.join(builddir, 'subprojects', project) + if os.path.exists(path): + res += ':' + path + else: + try: + res += ':' + subprocess.check_output(['pkg-config', + '--variable=pluginsdir', + pkg_name]).decode() + except subprocess.CalledProcessError: + exit(1) + +print(res.strip(":")) diff --git a/tests/check/meson.build b/tests/check/meson.build index e60aa8175e..c7527d2e0a 100644 --- a/tests/check/meson.build +++ b/tests/check/meson.build @@ -85,7 +85,8 @@ test_defines = [ '-DGST_USE_UNSTABLE_API', ] -runcmd = run_command('pkg-config', '--variable=pluginsdir', 'gstreamer-1.0') +getpluginsdir = find_program('getpluginsdir') +runcmd = run_command(getpluginsdir, 'gstreamer', 'gstreamer-1.0') if runcmd.returncode() == 0 core_plugins_dir = runcmd.stdout().strip() message('Using GStreamer plug-ins in ' + core_plugins_dir) -- 2.34.1