meson: add option to disable build of GStreamer unit test library
authorTim-Philipp Müller <tim@centricular.com>
Fri, 10 Aug 2018 00:23:35 +0000 (01:23 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Fri, 10 Aug 2018 00:23:35 +0000 (01:23 +0100)
libs/gst/meson.build
meson_options.txt
pkgconfig/meson.build
tests/check/meson.build

index 38dcec9..0313c0a 100644 (file)
@@ -2,4 +2,9 @@ subdir('base')
 subdir('controller')
 subdir('net')
 subdir('helpers')
-subdir('check')
+
+if get_option('check').disabled()
+  gst_check_dep = disabler() # KISS for now
+else
+  subdir('check')
+endif
index fbb0a9c..d5c3873 100644 (file)
@@ -18,6 +18,7 @@ option('memory-alignment', type: 'combo',
        value: 'malloc')
 
 # Feature options
+option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
 option('libunwind', type : 'feature', value : 'auto', description : 'Use libunwind to generate backtraces')
 option('bash-completion', type : 'feature', value : 'auto', description : 'Install bash completion files')
 
index edb0586..9843772 100644 (file)
@@ -22,14 +22,17 @@ pkgconf.set('netlibdir', join_paths(meson.build_root(), gst_net.outdir()))
 
 pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
 
-pkg_files = ['gstreamer-base',
+pkg_files = [
+  'gstreamer-base',
   'gstreamer-controller',
-  'gstreamer-check',
   'gstreamer-net',
   'gstreamer'
 ]
 
-pkgconf.set('checklibdir', join_paths(meson.build_root(), gst_check.outdir()))
+if not get_option('check').disabled()
+  pkg_files += ['gstreamer-check']
+  pkgconf.set('checklibdir', join_paths(meson.build_root(), gst_check.outdir()))
+endif
 
 foreach p : pkg_files
   infile = p + '.pc.in'
index 0e7edd1..c6111c7 100644 (file)
@@ -126,6 +126,13 @@ test_defines = [
   '-DGST_DISABLE_DEPRECATED',
 ]
 
+# sanity checking
+if get_option('check').disabled()
+  if get_option('tests').enabled()
+    error('Building of unit tests was requested, but GStreamer check library was disabled.')
+  endif
+endif
+
 glib_deps = [gio_dep, gobject_dep, gmodule_dep, glib_dep]
 gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep]