433134b419f80e498fc19f9c8ec268d5c9ca6fe3
[platform/upstream/gstreamer.git] / ext / gl / meson.build
1 # These have to stay in -bad until we can move GstVideoAggregator to -base
2 #  'gstglbasemixer.c',
3 #  'gstglmixerbin.c',
4 #  'gstglmixer.c',
5 #  'gstglvideomixer.c',
6 #  'gstglstereomix.c',
7 opengl_sources = [
8   'gstopengl.c',
9   'gstglalpha.c',
10   'gstgluploadelement.c',
11   'gstgldownloadelement.c',
12   'gstglcolorconvertelement.c',
13   'gstglfilterbin.c',
14   'gstglsinkbin.c',
15   'gstglsrcbin.c',
16   'gstglimagesink.c',
17   'gstglfiltercube.c',
18   'gstgleffects.c',
19   'effects/gstgleffectscurves.c',
20   'effects/gstgleffectssources.c',
21   'effects/gstgleffectidentity.c',
22   'effects/gstgleffectmirror.c',
23   'effects/gstgleffectsqueeze.c',
24   'effects/gstgleffectstretch.c',
25   'effects/gstgleffectfisheye.c',
26   'effects/gstgleffecttwirl.c',
27   'effects/gstgleffectbulge.c',
28   'effects/gstgleffecttunnel.c',
29   'effects/gstgleffectsquare.c',
30   'effects/gstgleffectlumatocurve.c',
31   'effects/gstgleffectrgbtocurve.c',
32   'effects/gstgleffectsin.c',
33   'effects/gstgleffectxray.c',
34   'effects/gstgleffectglow.c',
35   'effects/gstgleffectblur.c',
36   'effects/gstgleffectsobel.c',
37   'effects/gstgleffectlaplacian.c',
38   'gstglcolorscale.c',
39   'gstglcolorbalance.c',
40   'gstglfiltershader.c',
41   'gstglfilterapp.c',
42   'gstglviewconvert.c',
43   'gstglstereosplit.c',
44   'gstgldeinterlace.c',
45   'gltestsrc.c',
46   'gstgltestsrc.c',
47   'gstgloverlaycompositorelement.c',
48   'gstglutils.c'
49 ]
50
51 if get_option('gl').disabled() or not gstgl_dep.found()
52   subdir_done()
53 endif
54
55 optional_deps = []
56
57 if gl_dep.found() # have desktop GL
58   # These have to stay in -bad until we can move GstVideoAggregator to -base
59   # 'gstglmosaic.c',
60   opengl_sources += [
61     'gstglfilterglass.c',
62   ]
63 endif
64
65 graphene_dep = dependency('graphene-1.0', version : '>=1.4.0', required : get_option('gl-graphene'))
66 if graphene_dep.found()
67   optional_deps += graphene_dep
68   core_conf.set('HAVE_GRAPHENE', true)
69   opengl_sources += [
70     'gstgltransformation.c',
71     'gstglvideoflip.c',
72   ]
73 endif
74
75 png_dep = dependency('libpng', version : '>=1.0', required : get_option('gl-png'))
76 jpeg_dep = dependency('libjpeg', required : get_option('gl-jpeg'))
77
78 if png_dep.found()
79   optional_deps += png_dep
80   core_conf.set('HAVE_PNG', true)
81   opengl_sources += [
82     'gstgldifferencematte.c',
83   ]
84   if jpeg_dep.found()
85     optional_deps += jpeg_dep
86     core_conf.set('HAVE_JPEG', true)
87     opengl_sources += [
88       'gstgloverlay.c',
89     ]
90   endif
91 endif
92
93 if glconf.get('GST_GL_HAVE_WINDOW_COCOA', 0) == 1
94   foundation_dep = dependency('appleframeworks', modules : ['Foundation'], required : false)
95   quartzcore_dep = dependency('appleframeworks', modules : ['QuartzCore'], required : false)
96   if foundation_dep.found() and quartzcore_dep.found() # have cocoa
97     opengl_sources += [
98       'caopengllayersink.m',
99     ]
100     optional_deps += quartzcore_dep
101   endif
102 endif
103
104 if x11_dep.found()
105   # for XInitThreads()
106   optional_deps += x11_dep
107 endif
108
109 if bcm_host_dep.found()
110   optional_deps += bcm_host_dep
111 endif
112
113 if egl_dep.found() and cc.has_header('libdrm/drm_fourcc.h')
114   optional_deps += allocators_dep
115 endif
116
117 gstopengl = library('gstopengl',
118   opengl_sources,
119   c_args : gst_plugins_base_args,
120   link_args : noseh_link_args,
121   include_directories : [configinc],
122   dependencies : [gstgl_dep, video_dep,
123                   gst_base_dep, gst_controller_dep, libm] + optional_deps,
124   install : true,
125   install_dir : plugins_install_dir)
126
127 pkgconfig.generate(gstopengl, install_dir : plugins_pkgconfig_install_dir)