b08ac3be812978784c332d4a26ffbb18fbe2de09
[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.h',
25 ]
26 install_headers(gst_controller_headers, subdir : 'gstreamer-1.0/gst/controller/')
27
28 mkenums = find_program('controller_mkenum.py')
29 gstcontroller_h = custom_target('gstcontrollerenum_h',
30   output : 'controller-enumtypes.h',
31   input : controller_mkenum_headers,
32   install : true,
33   install_dir : 'include/gstreamer-1.0/gst/controller/',
34   command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
35
36 gstcontroller_c = custom_target('gstcontrollerenum_c',
37   output : 'controller-enumtypes.c',
38   input : controller_mkenum_headers,
39   depends : [gstcontroller_h],
40   command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
41 controller_gen_sources = [gstcontroller_h]
42
43 if libtype != 'shared'
44   gst_controller_static = static_library('gstcontroller-@0@'.format(apiversion),
45     gst_controller_sources, gstcontroller_h, gstcontroller_c,
46     c_args : gst_c_args,
47     install : true,
48     include_directories : [configinc, libsinc],
49     dependencies : [gobject_dep, glib_dep, mathlib, gst_dep],
50   )
51   gst_controller = gst_controller_static
52 endif
53
54
55 gst_controller_gen_sources = [gstcontroller_h]
56 if libtype != 'static'
57   gst_controller_shared = shared_library('gstcontroller-@0@'.format(apiversion),
58     gst_controller_sources, gstcontroller_h, gstcontroller_c,
59     c_args : gst_c_args,
60     install : true,
61     version : libversion,
62     soversion : soversion,
63     include_directories : [configinc, libsinc],
64     dependencies : [gobject_dep, glib_dep, mathlib, gst_dep],
65     vs_module_defs: vs_module_defs_dir + 'libgstcontroller.def',
66   )
67   gst_controller = gst_controller_shared
68   if build_gir
69     gst_gir_extra_args = gir_init_section + [ '--c-include=gst/controller/controller.h' ]
70     gst_controller_gir = gnome.generate_gir(gst_controller_shared,
71       sources : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c],
72       namespace : 'GstController',
73       nsversion : apiversion,
74       identifier_prefix : 'Gst',
75       symbol_prefix : 'gst',
76       export_packages : 'gstreamer-controller-1.0',
77       dependencies : [gst_dep],
78       include_directories : [configinc, libsinc, privinc],
79       includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
80       install : true,
81       extra_args : gst_gir_extra_args,
82     )
83     gst_controller_gen_sources += [gst_controller_gir]
84   endif
85 endif
86
87 gst_controller_dep = declare_dependency(link_with : gst_controller,
88   include_directories : [libsinc],
89   sources: gst_controller_gen_sources,
90   dependencies : [gst_dep])