summaryrefslogtreecommitdiff
path: root/gst-libs/gst/gl/meson.build
blob: 6c210de26ed01fddb8e535cb3fbe1814961d810a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
gl_sources = [
  'gstgldisplay.c',
  'gstglcontext.c',
  'gstglmemory.c',
  'gstglbufferpool.c',
  'gstglfilter.c',
  'gstglshader.c',
  'gstglshadervariables.c',
  'gstglcolorconvert.c',
  'gstgldownload.c',
  'gstglupload.c',
  'gstgluploadmeta.c',
  'gstglwindow.c',
  'gstglapi.c',
  'gstglfeature.c',
  'gstglutils.c',
  'gstglframebuffer.c',
]

gl_headers = [
  'gl.h',
  'gstgl_enums.h',
  'gstgl_fwd.h',
  'gstglapi.h',
  'gstglbasefilter.h',
  'gstglbasememory.h',
  'gstglbuffer.h',
  'gstglbufferpool.h',
  'gstglcolorconvert.h',
  'gstglcontext.h',
  'gstglcontrolbindingproxy.h',
  'gstgldebug.h',
  'gstgldisplay.h',
  'gstglfeature.h',
  'gstglfilter.h',
  'gstglformat.h',
  'gstglframebuffer.h',
  'gstglmemory.h',
  'gstglmemorypbo.h',
  'gstgloverlaycompositor.h',
  'gstglquery.h',
  'gstglshader.h',
  'gstglshaderstrings.h',
  'gstglsl.h',
  'gstglslstage.h',
  'gstglsyncmeta.h',
  'gstglupload.h',
  'gstglutils.h',
  'gstglviewconvert.h',
  'gstglwindow.h',
]
# FIXME: Install glprototypes
install_headers(gl_headers, subdir : 'gstreamer-1.0/gst/gl')

glconf = configuration_data()

glconf.set10('GST_GL_HAVE_OPENGL', gl_dep.found())

if x11_dep.found()
  gl_sources += [
    'x11/gstgldisplay_x11.c',
    'x11/gstglwindow_x11.c',
    'x11/x11_event_source.c',
    'x11/gstglcontext_glx.c',
]
  glconf.set('GST_GL_HAVE_WINDOW_X11', 1)
  glconf.set('GST_GL_HAVE_PLATFORM_GLX', 1)
endif

# Add rest of gl config here.

configure_file(input : 'gstglconfig.h.meson',
  output : 'gstglconfig.h',
  install_dir : get_option('libdir') + '/gstreamer-1.0/include/gst/gl',
  configuration : glconf)

gstgl = library('gstgl-' + api_version,
  gl_sources,
  c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
  include_directories : [configinc, libsinc],
  version : libversion,
  soversion : soversion,
  install : true,
  dependencies : [gstbase_dep, gstvideo_dep],
  # FIXME: This symbol list is generated on Linux, so this is wrong for Windows
  vs_module_defs: vs_module_defs_dir + 'libgstgl.def',
)
# TODO: generate gir

gstgl_dep = declare_dependency(link_with : gstgl,
  include_directories : [libsinc],
  dependencies : [gstbase_dep, gstvideo_dep])