mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 10:10:32 +00:00
meson: Add bash completion support
This commit is contained in:
parent
bae1fe254a
commit
35c4428083
4 changed files with 62 additions and 2 deletions
9
data/bash-completion/helpers/meson.build
Normal file
9
data/bash-completion/helpers/meson.build
Normal file
|
@ -0,0 +1,9 @@
|
|||
bash_helper_conf = configuration_data()
|
||||
bash_helper_conf.set('GST_COMPLETION_HELPER_INSTALLED',
|
||||
'@0@/@1@/gst-completion-helper'.format(prefix, helpers_install_dir))
|
||||
bash_helper_conf.set('GST_API_VERSION', apiversion)
|
||||
|
||||
configure_file(input : 'gst.in',
|
||||
output : 'gst',
|
||||
install_dir : bash_helpers_dir,
|
||||
configuration : bash_helper_conf)
|
5
data/meson.build
Normal file
5
data/meson.build
Normal file
|
@ -0,0 +1,5 @@
|
|||
if (bashcomp_found)
|
||||
subdir('bash-completion/helpers')
|
||||
install_data('bash-completion/completions/gst-launch-1.0', install_dir : bash_completions_dir)
|
||||
install_data('bash-completion/completions/gst-inspect-1.0', install_dir : bash_completions_dir)
|
||||
endif
|
|
@ -10,5 +10,15 @@ gst_plugin_scanner = executable('gst-plugin-scanner',
|
|||
|
||||
gst_scanner_dir = meson.current_build_dir()
|
||||
|
||||
if bashcomp_found
|
||||
gst_completion_helper = executable('gst-completion-helper',
|
||||
'gst-completion-helper.c',
|
||||
c_args : gst_c_args,
|
||||
include_directories : [configinc],
|
||||
dependencies : [gobject_dep, glib_dep, gst_dep],
|
||||
install_dir : helpers_install_dir,
|
||||
install: true,
|
||||
)
|
||||
endif
|
||||
|
||||
# FIXME: gst-ptp-helper
|
||||
# FIXME: gst-completion-helper
|
||||
|
|
38
meson.build
38
meson.build
|
@ -27,7 +27,7 @@ prefix = get_option('prefix')
|
|||
libtype = get_option('library_format')
|
||||
|
||||
libexecdir = get_option('libexecdir')
|
||||
helpers_install_dir = libexecdir + '/gstreamer-1.0/'
|
||||
helpers_install_dir = join_paths(libexecdir, 'gstreamer-1.0')
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
|
@ -375,6 +375,41 @@ if not py3.found()
|
|||
py3 = find_program('python')
|
||||
endif
|
||||
|
||||
bashcomp_dep = dependency('bash-completion', version : '>= 2.0', required : false)
|
||||
|
||||
bashcomp_found = bashcomp_dep.found()
|
||||
bash_completions_dir = ''
|
||||
bash_helpers_dir = ''
|
||||
|
||||
if bashcomp_found
|
||||
# get_pkgconfig_variable() won't let us set the prefix
|
||||
pkgconfig = find_program('pkg-config')
|
||||
|
||||
runcmd = run_command(pkgconfig,
|
||||
'--define-variable=prefix="."',
|
||||
'--variable=completionsdir',
|
||||
'bash-completion')
|
||||
|
||||
if (runcmd.returncode() == 0)
|
||||
bash_completions_dir = runcmd.stdout().strip()
|
||||
else
|
||||
message('Found bash-completion but the .pc file did not set \'completionsdir\'.')
|
||||
bashcomp_found = false
|
||||
endif
|
||||
|
||||
runcmd = run_command(pkgconfig,
|
||||
'--define-variable=prefix="."',
|
||||
'--variable=helpersdir',
|
||||
'bash-completion')
|
||||
|
||||
if (runcmd.returncode() == 0)
|
||||
bash_helpers_dir = runcmd.stdout().strip()
|
||||
else
|
||||
message('Found bash-completion, but the .pc file did not set \'helpersdir\'.')
|
||||
bashcomp_found = false
|
||||
endif
|
||||
endif
|
||||
|
||||
subdir('gst')
|
||||
subdir('libs')
|
||||
subdir('plugins')
|
||||
|
@ -382,6 +417,7 @@ subdir('tools')
|
|||
subdir('pkgconfig')
|
||||
subdir('tests')
|
||||
subdir('po')
|
||||
subdir('data')
|
||||
|
||||
if build_machine.system() == 'windows'
|
||||
message('Disabling gtk-doc while building on Windows')
|
||||
|
|
Loading…
Reference in a new issue