6ef2769ac09585f8f9746f4b9aa24ef4ce5870c0
[platform/upstream/gstreamer.git] / libs / gst / controller / meson.build
1 gst_controller_sources = [
2   'gstargbcontrolbinding.c',
3   'gstdirectcontrolbinding.c',
4   'gsttimedvaluecontrolsource.c',
5   'gstinterpolationcontrolsource.c',
6   'gstproxycontrolbinding.c',
7   'gsttriggercontrolsource.c',
8   'gstlfocontrolsource.c',
9 ]
10
11 controller_mkenum_headers = [
12   'gstinterpolationcontrolsource.h',
13   'gstlfocontrolsource.h',
14 ]
15
16 gst_controller_headers = controller_mkenum_headers + [
17   'gstargbcontrolbinding.h',
18   'gstdirectcontrolbinding.h',
19   'gsttimedvaluecontrolsource.h',
20   'gstinterpolationcontrolsource.h',
21   'gstproxycontrolbinding.h',
22   'gsttriggercontrolsource.h',
23   'gstlfocontrolsource.h',
24   'controller-prelude.h',
25   'controller.h',
26 ]
27 install_headers(gst_controller_headers, subdir : 'gstreamer-1.0/gst/controller/')
28
29 controller_enums = gnome.mkenums_simple('controller-enumtypes',
30   sources : controller_mkenum_headers,
31   header_prefix : '#include <gst/controller/controller-prelude.h>',
32   decorator : 'GST_CONTROLLER_API',
33   install_header : true,
34   install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/controller'))
35 gstcontroller_c = controller_enums[0]
36 gstcontroller_h = controller_enums[1]
37
38 gst_controller_gen_sources = [gstcontroller_h]
39 gst_controller = library('gstcontroller-@0@'.format(apiversion),
40   gst_controller_sources, gstcontroller_h, gstcontroller_c,
41   c_args : gst_c_args,
42   install : true,
43   version : libversion,
44   soversion : soversion,
45   include_directories : [configinc, libsinc],
46   dependencies : [gobject_dep, glib_dep, mathlib, gst_dep],
47 )
48
49 if build_gir
50   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/controller/controller.h' ]
51   gst_controller_gir = gnome.generate_gir(gst_controller,
52     sources : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c],
53     namespace : 'GstController',
54     nsversion : apiversion,
55     identifier_prefix : 'Gst',
56     symbol_prefix : 'gst',
57     export_packages : 'gstreamer-controller-1.0',
58     dependencies : [gst_dep],
59     include_directories : [configinc, libsinc, privinc],
60     includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
61     install : true,
62     extra_args : gst_gir_extra_args,
63   )
64   gst_controller_gen_sources += [gst_controller_gir]
65 endif
66
67 gst_controller_dep = declare_dependency(link_with : gst_controller,
68   include_directories : [libsinc],
69   sources: gst_controller_gen_sources,
70   dependencies : [gst_dep])