mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-16 03:05:32 +00:00
87 lines
2.3 KiB
Meson
87 lines
2.3 KiB
Meson
gtk_sources = [
|
|
'gstgtkbasesink.c',
|
|
'gstgtksink.c',
|
|
'gstgtkutils.c',
|
|
'gstplugin.c',
|
|
'gtkgstbasewidget.c',
|
|
'gtkgstwidget.c',
|
|
]
|
|
|
|
gtk_headers = [
|
|
'gtkgstglwidget.h',
|
|
'gstgtksink.h',
|
|
'gtkgstbasewidget.h',
|
|
'gtkgstwidget.h',
|
|
'gstgtkglsink.h',
|
|
'gstgtkutils.h',
|
|
'gstgtkbasesink.h',
|
|
]
|
|
|
|
glwindowing_sources = [
|
|
'gstgtkglsink.c',
|
|
'gtkgstglwidget.c',
|
|
]
|
|
|
|
doc_sources = []
|
|
foreach s: gtk_sources + glwindowing_sources + gtk_headers
|
|
doc_sources += meson.current_source_dir() / s
|
|
endforeach
|
|
|
|
plugin_sources += {
|
|
'gtk': pathsep.join(doc_sources)
|
|
}
|
|
|
|
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 += glwindowing_sources
|
|
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
|