Add support for Meson as alternative/parallel build system
authorNirbheek Chauhan <nirbheek@centricular.com>
Fri, 12 Aug 2016 15:51:45 +0000 (21:21 +0530)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 20 Aug 2016 10:35:54 +0000 (11:35 +0100)
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.

gst/compositor/meson.build [new file with mode: 0644]

diff --git a/gst/compositor/meson.build b/gst/compositor/meson.build
new file mode 100644 (file)
index 0000000..2e948fc
--- /dev/null
@@ -0,0 +1,33 @@
+compositor_sources = [
+  'blend.c',
+  'compositor.c',
+]
+
+orcsrc = 'compositororc'
+if have_orcc
+  orc_h = custom_target(orcsrc + '.h',
+    input : orcsrc + '.orc',
+    output : orcsrc + '.h',
+    command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@'])
+  orc_c = custom_target(orcsrc + '.c',
+    input : orcsrc + '.orc',
+    output : orcsrc + '.c',
+    command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@'])
+else
+  orc_h = configure_file(input : orcsrc + '-dist.h',
+    output : orcsrc + '.h',
+    configuration : configuration_data())
+  orc_c = configure_file(input : orcsrc + '-dist.c',
+    output : orcsrc + '.c',
+    configuration : configuration_data())
+endif
+
+gstcompositor = library('gstcompositor',
+  compositor_sources, orc_c, orc_h,
+  c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+  include_directories : [configinc],
+  dependencies : [gstbadvideo_dep, gstbadbase_dep, gstvideo_dep, gstbase_dep,
+                 orc_dep, libm],
+  install : true,
+  install_dir : plugins_install_dir,
+)