From a5f01beb41a81f483d90eb4dd785822a8615f65f Mon Sep 17 00:00:00 2001 From: Gilles Dartiguelongue Date: Wed, 30 May 2018 08:44:18 +0200 Subject: [PATCH] build: Add control for optional dependencies --- meson.build | 18 ++++++++++++++---- meson_options.txt | 3 +++ src/meson.build | 12 ++++++++---- 3 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 meson_options.txt diff --git a/meson.build b/meson.build index 1e1522c..45d7ed7 100644 --- a/meson.build +++ b/meson.build @@ -34,10 +34,20 @@ zlib_dep = dependency ('zlib') cairo_dep = dependency ('cairo') gdk_pixbuf_dep = dependency ('gdk-pixbuf-2.0') gusb_dep = dependency ('gusb', version: '>= 0.2.7') -colord_dep = dependency ('colord', required: false) -packagekit_dep = dependency ('packagekit-glib2', version: '>= 1.1.5', required: false) -webp_dep = dependency ('libwebp', required: false) -webpmux_dep = dependency ('libwebpmux', required: false) + +if get_option('colord') + colord_dep = dependency ('colord') +endif + +if get_option('packagekit') + packagekit_dep = dependency ('packagekit-glib2', version: '>= 1.1.5') +endif + +if get_option('webp') + webp_dep = dependency ('libwebp') + webpmux_dep = dependency ('libwebpmux') +endif + sane_dep = dependency ('sane-backends') msgfmt = find_program ('msgfmt') itstool = find_program ('itstool') diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..570ecdd --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,3 @@ +option('colord', type: 'boolean', value: false) +option('packagekit', type: 'boolean', value: false) +option('webp', type: 'boolean', value: false) diff --git a/src/meson.build b/src/meson.build index 3f699eb..0c8965e 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,16 +1,20 @@ vala_args = [ '--pkg=posix', '--vapidir=' + meson.current_source_dir () ] dependencies = [ glib_dep, gtk_dep, libadwaita_dep, zlib_dep, cairo_dep, gdk_pixbuf_dep, gusb_dep, sane_dep ] -if colord_dep.found () +if get_option('colord') vala_args += [ '-D', 'HAVE_COLORD' ] dependencies += colord_dep endif -if packagekit_dep.found () +if get_option('packagekit') vala_args += [ '-D', 'HAVE_PACKAGEKIT' ] dependencies += packagekit_dep endif -if webp_dep.found () and (not colord_dep.found () or webpmux_dep.found ()) # Webpmux only required if colord +if get_option('webp') vala_args += [ '-D', 'HAVE_WEBP' ] - dependencies += [ webp_dep, webpmux_dep ] + dependencies += [ webp_dep ] + # Webpmux only required if colord + if get_option('colord') + dependencies += [ webpmux_dep ] + endif endif simple_scan = executable ('simple-scan', -- 2.26.3