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 : get_option('gtk3')) if gtk_dep.found() # FIXME: automagic if have_gstgl and gtk_dep.version().version_compare('>=3.15.0') have_gtk3_gl_windowing = false if gst_gl_have_window_x11 and gst_gl_have_platform_glx # FIXME: automagic gtk_x11_dep = dependency('gtk+-x11-3.0', required : false) if gtk_x11_dep.found() optional_deps += [gtk_x11_dep, gstglx11_dep] have_gtk3_gl_windowing = true endif endif if gst_gl_have_window_wayland and gst_gl_have_platform_egl # FIXME: automagic gtk_wayland_dep = dependency('gtk+-wayland-3.0', required : false) if gtk_wayland_dep.found() optional_deps += [gtk_wayland_dep, gstglegl_dep, gstglwayland_dep] have_gtk3_gl_windowing = true endif endif if gst_gl_have_window_win32 and gst_gl_have_platform_wgl # FIXME: automagic gtk_win32_dep = dependency('gtk+-win32-3.0', required : false) if gtk_win32_dep.found() and gtk_win32_dep.version().version_compare('>=3.24.43') optional_deps += [gtk_win32_dep] have_gtk3_gl_windowing = true endif endif if have_gtk3_gl_windowing gtk_sources += [ 'gstgtkglsink.c', 'gtkgstglwidget.c', ] optional_deps += [gstgl_dep, gstglproto_dep] gtk_defines += ['-DGST_USE_UNSTABLE_API', '-DHAVE_GTK3_GL'] endif endif gstgtk = library('gstgtk', gtk_sources, c_args : gst_plugins_good_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, ) plugins += [gstgtk] endif