summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/gtk/meson.build54
-rw-r--r--ext/meson.build2
2 files changed, 55 insertions, 1 deletions
diff --git a/ext/gtk/meson.build b/ext/gtk/meson.build
new file mode 100644
index 000000000..d041fbd21
--- /dev/null
+++ b/ext/gtk/meson.build
@@ -0,0 +1,54 @@
+gtk_sources = [
+ 'gstgtkbasesink.c',
+ 'gstgtksink.c',
+ 'gstgtkutils.c',
+ 'gstplugin.c',
+ 'gtkgstbasewidget.c',
+ 'gtkgstwidget.c',
+]
+
+gtk_defines = []
+optional_deps = []
+
+gtk_dep = dependency('gtk+-3.0', required : false)
+if gtk_dep.found()
+ if build_gstgl and gstgl_dep.found() and gtk_dep.version().version_compare('>=3.15.0')
+ have_gtk3_gl_windowing = false
+
+ if x11_dep.found() and gl_dep.found()
+ gtk_x11_dep = dependency('gtk+-x11-3.0', required : false)
+ if gtk_x11_dep.found()
+ optional_deps += gtk_x11_dep
+ have_gtk3_gl_windowing = true
+ endif
+ endif
+
+ if wayland_egl_dep.found() and egl_dep.found()
+ gtk_wayland_dep = dependency('gtk+-wayland-3.0', required : false)
+ if gtk_wayland_dep.found()
+ optional_deps += gtk_wayland_dep
+ have_gtk3_gl_windowing = true
+ endif
+ endif
+
+ if have_gtk3_gl_windowing
+ gtk_sources += [
+ 'gstgtkglsink.c',
+ 'gtkgstglwidget.c',
+ ]
+ optional_deps += gstgl_dep
+ gtk_defines += ['-DGST_USE_UNSTABLE_API', '-DHAVE_GTK3_GL']
+ endif
+ endif
+
+ gstgtk = library('gstgtk',
+ gtk_sources,
+ c_args : gst_plugins_bad_args + gtk_defines,
+ link_args : noseh_link_args,
+ include_directories : [configinc],
+ dependencies : [gtk_dep, gstvideo_dep, gstbase_dep, libm] + optional_deps,
+ install : true,
+ install_dir : plugins_install_dir,
+ )
+endif
+
diff --git a/ext/meson.build b/ext/meson.build
index f91a7372a..09f4bb001 100644
--- a/ext/meson.build
+++ b/ext/meson.build
@@ -17,7 +17,7 @@ subdir('fluidsynth')
subdir('gl')
#subdir('gme')
#subdir('gsm')
-#subdir('gtk')
+subdir('gtk')
subdir('hls')
subdir('kate')
#subdir('ladspa')