summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIñigo Martínez <inigomartinez@gmail.com>2018-04-11 09:50:21 +0200
committerIñigo Martínez <inigomartinez@gmail.com>2018-04-11 09:51:25 +0200
commit5a1f2156ed8a64eaa26362e223326e96538f6821 (patch)
tree003e6a50475fe077aba83c9c3d3e8049c7038d38
parent7c9c4d203a9a6b5d8b5d1e7e3467a8062be15e76 (diff)
downloaddconf-wip/inigomartinez/meson.tar.gz
build: Use completions dir from pkg-config filewip/inigomartinez/meson
The `bash-completions` pkg-config file provides a variable with the location of the completion files. This variable is checked to set the installation directory of the completion file provided by dconf. As a side note, the variable in the `bash-completions` pkg-config file is not totally correct, because it provides a directory that is relative to prefix while it should be relative to datadir. https://bugzilla.gnome.org/show_bug.cgi?id=790236
-rw-r--r--bin/meson.build10
-rw-r--r--meson.build6
-rw-r--r--meson_options.txt1
3 files changed, 13 insertions, 4 deletions
diff --git a/bin/meson.build b/bin/meson.build
index 8c41cb0..dc220cc 100644
--- a/bin/meson.build
+++ b/bin/meson.build
@@ -19,7 +19,9 @@ executable(
install: true
)
-install_data(
- 'completion/dconf',
- install_dir: join_paths(dconf_datadir, 'bash-completion', 'completions')
-)
+if enable_bash_completion
+ install_data(
+ 'completion/dconf',
+ install_dir: completions_dir
+ )
+endif
diff --git a/meson.build b/meson.build
index f9a245e..4a309c4 100644
--- a/meson.build
+++ b/meson.build
@@ -45,6 +45,12 @@ glib_dep = dependency('glib-2.0', version: '>= 2.44.0')
gio_module_dir = gio_dep.get_pkgconfig_variable('giomoduledir', define_variable: ['libdir', dconf_libdir])
dbus_session_service_dir = dependency('dbus-1').get_pkgconfig_variable('session_bus_services_dir', define_variable: ['datadir', dconf_datadir])
+enable_bash_completion = get_option('bash_completion')
+if enable_bash_completion
+ # FIXME: the `.pc` file is wrong because `completionsdir` should be relative to `datadir`, not `prefix`
+ completions_dir = dependency('bash-completion').get_pkgconfig_variable('completionsdir', define_variable: ['prefix', dconf_prefix])
+endif
+
configure_file(
output: 'config.h',
configuration: configuration_data()
diff --git a/meson_options.txt b/meson_options.txt
index 76e88ea..9c8e3e6 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,2 +1,3 @@
+option('bash_completion', type: 'boolean', value: true, description: 'install bash completion files')
option('man', type: 'boolean', value: true, description: 'generate man pages')
option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')