gstreamer/libs/gst/base/meson.build
Nirbheek Chauhan b2f9808722 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Mathieu Duponchelle <mathieu.duponchelle@opencreed.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.
2016-08-19 21:26:14 +01:00

96 lines
2.3 KiB
Meson

gst_base_sources = [
'gstadapter.c',
'gstbaseparse.c',
'gstbasesink.c',
'gstbasesrc.c',
'gstbasetransform.c',
'gstbitreader.c',
'gstbytereader.c',
'gstbytewriter.c',
'gstcollectpads.c',
'gstdataqueue.c',
'gstflowcombiner.c',
'gstpushsrc.c',
'gstqueuearray.c',
'gsttypefindhelper.c',
]
gst_base_headers = [
'base.h',
'gstadapter.h',
'gstbaseparse.h',
'gstbasesink.h',
'gstbasesrc.h',
'gstbasetransform.h',
'gstbitreader.h',
'gstbytereader.h',
'gstbytewriter.h',
'gstcollectpads.h',
'gstdataqueue.h',
'gstflowcombiner.h',
'gstpushsrc.h',
'gstqueuearray.h',
'gsttypefindhelper.h',
]
if libtype != 'shared'
gst_base_static = static_library('gstbase-@0@'.format(apiversion),
gst_base_sources,
c_args : gst_c_args,
install : true,
include_directories : [configinc, libsinc],
dependencies : [gobject_dep, glib_dep, gst_dep],
)
gst_base = gst_base_static
endif
if libtype != 'static'
gst_base_shared = shared_library('gstbase-@0@'.format(apiversion),
gst_base_sources,
c_args : gst_c_args,
version : libversion,
soversion : soversion,
install : true,
include_directories : [configinc, libsinc],
dependencies : [gobject_dep, glib_dep, gst_dep],
vs_module_defs: vs_module_defs_dir + 'libgstbase.def',
)
gst_base = gst_base_shared
if build_gir
gnome.generate_gir(gst_base_shared,
sources : gst_base_sources + gst_base_headers,
namespace : 'GstBase',
nsversion : apiversion,
identifier_prefix : 'Gst',
symbol_prefix : 'gst',
export_packages : 'gstreamer-base-1.0',
link_with : libgst_shared,
include_directories : [configinc, libsinc, privinc],
includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
install : true,
extra_args : gir_init_section,
)
endif
endif
gst_base_dep = declare_dependency(link_with : gst_base,
include_directories : [libsinc],
dependencies : [gst_dep])
install_headers('base.h',
'gstadapter.h',
'gstbaseparse.h',
'gstbasesink.h',
'gstbasesrc.h',
'gstbasetransform.h',
'gstbitreader.h',
'gstbytereader.h',
'gstbytewriter.h',
'gstcollectpads.h',
'gstdataqueue.h',
'gstflowcombiner.h',
'gstpushsrc.h',
'gstqueuearray.h',
'gsttypefindhelper.h',
subdir : 'gstreamer-1.0/gst/base',
)