From a1d5282ba7a908f48622b71ae23e838e03ec6e4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sat, 25 Jul 2020 19:16:06 +0100 Subject: [PATCH] meson: install bash completion helper for ges-launch-1.0 Fixes #77 Part-of: --- meson.build | 5 ++++- meson_options.txt | 2 ++ tools/meson.build | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 55f2e43ec3..8fb430ad17 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('gst-editing-services', 'c', version : '1.17.2.1', - meson_version : '>= 0.48', + meson_version : '>= 0.49', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) @@ -33,6 +33,9 @@ mathlib = cc.find_library('m', required : false) cdata = configuration_data() +prefix = get_option('prefix') +datadir = prefix / get_option('datadir') + # Ignore several spurious warnings for things gstreamer does very commonly # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it # If a warning is harmless but hard to fix, use '/woXXXX' so it's shown once diff --git a/meson_options.txt b/meson_options.txt index 730682e512..fe25f553fd 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -11,6 +11,8 @@ option('tools', type : 'feature', value : 'auto', yield : true, description : 'Build ges-launch command line tool') # GES options +option('bash-completion', type : 'feature', value : 'auto', + description : 'Install bash completion files') option('pygi-overrides-dir', type : 'string', value : '', description: 'Path to pygobject overrides directory') option('xptv', type : 'feature', value : 'auto', diff --git a/tools/meson.build b/tools/meson.build index 4629165050..7d98722772 100644 --- a/tools/meson.build +++ b/tools/meson.build @@ -14,3 +14,40 @@ ges_launch = executable('ges-launch-@0@'.format(apiversion), ) install_man('ges-launch-1.0.1') + +# bash completion +bashcomp_option = get_option('bash-completion') +bashcomp_dep = dependency('bash-completion', version : '>= 2.0', required : bashcomp_option) +bash_completions_dir = '' +bash_helpers_dir = '' + +bashcomp_found = false +if bashcomp_dep.found() + bashcomp_found = true + bashcomp_dir_override = bashcomp_dep.version().version_compare('>= 2.10') ? ['datadir', datadir] : ['prefix', prefix] + bash_completions_dir = bashcomp_dep.get_pkgconfig_variable('completionsdir', define_variable: bashcomp_dir_override) + if bash_completions_dir == '' + msg = 'Found bash-completion but the .pc file did not set \'completionsdir\'.' + if bashcomp_option.enabled() + error(msg) + else + message(msg) + endif + bashcomp_found = false + endif + + bash_helpers_dir = bashcomp_dep.get_pkgconfig_variable('helpersdir', define_variable: bashcomp_dir_override) + if bash_helpers_dir == '' + msg = 'Found bash-completion, but the .pc file did not set \'helpersdir\'.' + if bashcomp_option.enabled() + error(msg) + else + message(msg) + endif + bashcomp_found = false + endif + + if bashcomp_found + install_data('../data/completions/ges-launch-1.0', install_dir : bash_completions_dir) + endif +endif