5f1aa957d865a213d5bc1ef3b30ae20e56a45362
[platform/upstream/gstreamer.git] / gst-libs / gst / video / meson.build
1 video_sources = [
2   'colorbalance.c',
3   'colorbalancechannel.c',
4   'convertframe.c',
5   'gstvideoaffinetransformationmeta.c',
6   'gstvideodecoder.c',
7   'gstvideoencoder.c',
8   'gstvideofilter.c',
9   'gstvideometa.c',
10   'gstvideopool.c',
11   'gstvideosink.c',
12   'gstvideotimecode.c',
13   'gstvideoutils.c',
14   'gstvideoutilsprivate.c',
15   'navigation.c',
16   'video.c',
17   'video-blend.c',
18   'video-chroma.c',
19   'video-color.c',
20   'video-converter.c',
21   'video-dither.c',
22   'video-event.c',
23   'video-format.c',
24   'video-frame.c',
25   'video-info.c',
26   'video-multiview.c',
27   'video-resampler.c',
28   'video-scaler.c',
29   'video-tile.c',
30   'video-overlay-composition.c',
31   'videodirection.c',
32   'videoorientation.c',
33   'videooverlay.c',
34 ]
35
36 video_headers = [
37   'colorbalance.h',
38   'colorbalancechannel.h',
39   'gstvideoaffinetransformationmeta.h',
40   'gstvideodecoder.h',
41   'gstvideoencoder.h',
42   'gstvideofilter.h',
43   'gstvideometa.h',
44   'gstvideopool.h',
45   'gstvideosink.h',
46   'gstvideotimecode.h',
47   'gstvideoutils.h',
48   'navigation.h',
49   'video.h',
50   'video-event.h',
51   'video-format.h',
52   'video-chroma.h',
53   'video-color.h',
54   'video-converter.h',
55   'video-dither.h',
56   'video-info.h',
57   'video-frame.h',
58   'video-scaler.h',
59   'video-tile.h',
60   'videodirection.h',
61   'videoorientation.h',
62   'videooverlay.h',
63   'video-resampler.h',
64   'video-blend.h',
65   'video-overlay-composition.h',
66   'video-multiview.h',
67 ]
68 install_headers(video_headers, subdir : 'gstreamer-1.0/gst/video/')
69
70 video_mkenum_headers = [
71   'video.h',
72   'video-format.h',
73   'video-frame.h',
74   'video-chroma.h',
75   'video-color.h',
76   'video-converter.h',
77   'video-dither.h',
78   'video-info.h',
79   'video-resampler.h',
80   'video-scaler.h',
81   'video-tile.h',
82   'colorbalance.h',
83   'navigation.h',
84 ]
85
86 mkenums = find_program('video_mkenum.py')
87 gstvideo_h = custom_target('gstvideoenum_h',
88   output : 'video-enumtypes.h',
89   input : video_mkenum_headers,
90   install : true,
91   install_dir : 'include/gstreamer-1.0/gst/video/',
92   command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
93
94 gstvideo_c = custom_target('gstvideoenum_c',
95   output : 'video-enumtypes.c',
96   input : video_mkenum_headers,
97   depends : [gstvideo_h],
98   command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
99
100 orcsrc = 'video-orc'
101 if have_orcc
102   orc_h = custom_target(orcsrc + '.h',
103     input : orcsrc + '.orc',
104     output : orcsrc + '.h',
105     command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@'])
106   orc_c = custom_target(orcsrc + '.c',
107     input : orcsrc + '.orc',
108     output : orcsrc + '.c',
109     command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@'])
110 else
111   orc_h = configure_file(input : orcsrc + '-dist.h',
112     output : orcsrc + '.h',
113     configuration : configuration_data())
114   orc_c = configure_file(input : orcsrc + '-dist.c',
115     output : orcsrc + '.c',
116     configuration : configuration_data())
117 endif
118
119 gstvideo = library('gstvideo-@0@'.format(api_version),
120   video_sources, gstvideo_h, gstvideo_c, orc_c, orc_h,
121   c_args : gst_plugins_base_args,
122   include_directories: [configinc, libsinc],
123   version : libversion,
124   soversion : soversion,
125   install : true,
126   dependencies : [gst_base_dep, libm],
127   vs_module_defs: vs_module_defs_dir + 'libgstvideo.def',
128 )
129 # TODO: generate gir
130
131 video_dep = declare_dependency(link_with : gstvideo,
132   include_directories : [libsinc],
133   dependencies : [gst_base_dep],
134   sources : [gstvideo_h])