mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-29 15:22:11 +02:00
No need to auto build rawimporter if we are building gluploader as it will be always loaded on startup, but never used. Skip the build of it when its meson option is set to "auto".
121 lines
3.2 KiB
Meson
Vendored
121 lines
3.2 KiB
Meson
Vendored
gst_clapper_gl_base_importer_dep = dependency('', required: false)
|
|
|
|
plugin_needs_gl_base = (
|
|
not get_option('glimporter').disabled()
|
|
or not get_option('gluploader').disabled()
|
|
)
|
|
plugin_gl_support_required = (
|
|
get_option('glimporter').enabled()
|
|
or get_option('gluploader').enabled()
|
|
)
|
|
|
|
gst_plugin_gl_deps = [gstgl_dep, gstglproto_dep]
|
|
have_gtk_gl_windowing = false
|
|
|
|
if gst_gl_have_window_x11 and (gst_gl_have_platform_egl or gst_gl_have_platform_glx)
|
|
gtk_x11_dep = dependency('gtk4-x11', required: false)
|
|
if gtk_x11_dep.found()
|
|
gst_plugin_gl_deps += gtk_x11_dep
|
|
if gst_gl_have_platform_glx
|
|
gst_plugin_gl_deps += gstglx11_dep
|
|
endif
|
|
have_gtk_gl_windowing = true
|
|
endif
|
|
endif
|
|
|
|
if gst_gl_have_window_wayland and gst_gl_have_platform_egl
|
|
gtk_wayland_dep = dependency('gtk4-wayland', required: false)
|
|
if gtk_wayland_dep.found()
|
|
gst_plugin_gl_deps += [gtk_wayland_dep, gstglwayland_dep]
|
|
have_gtk_gl_windowing = true
|
|
endif
|
|
endif
|
|
|
|
if plugin_gl_support_required and not have_gtk_gl_windowing
|
|
error('GL-based importer was enabled, but support for current GL windowing is missing')
|
|
endif
|
|
|
|
if gst_gl_have_platform_egl
|
|
gst_plugin_gl_deps += gstglegl_dep
|
|
endif
|
|
|
|
gst_clapper_gl_base_importer_deps = [
|
|
gst_clapper_sink_dep
|
|
] + gst_plugin_gl_deps
|
|
|
|
foreach dep : gst_clapper_gl_base_importer_deps
|
|
if not dep.found()
|
|
if plugin_gl_support_required
|
|
error('GL-based importer was enabled, but required dependencies were not found')
|
|
endif
|
|
plugin_needs_gl_base = false
|
|
endif
|
|
endforeach
|
|
|
|
if plugin_needs_gl_base
|
|
gst_clapper_gl_base_importer_dep = declare_dependency(
|
|
link_with: library('gstclapperglbaseimporter',
|
|
'gstclapperglbaseimporter.c',
|
|
c_args: gst_clapper_plugin_args,
|
|
include_directories: configinc,
|
|
dependencies: gst_clapper_gl_base_importer_deps,
|
|
version: libversion,
|
|
install: true,
|
|
),
|
|
include_directories: configinc,
|
|
dependencies: gst_clapper_gl_base_importer_deps,
|
|
)
|
|
endif
|
|
|
|
build_glimporter = (
|
|
not get_option('glimporter').disabled()
|
|
and gst_clapper_gl_base_importer_dep.found()
|
|
)
|
|
|
|
if build_glimporter
|
|
library(
|
|
'gstclapperglimporter',
|
|
'gstclapperglimporter.c',
|
|
dependencies: gst_clapper_gl_base_importer_dep,
|
|
include_directories: configinc,
|
|
c_args: gst_clapper_plugin_args,
|
|
install: true,
|
|
install_dir: gst_clapper_importers_libdir,
|
|
)
|
|
endif
|
|
|
|
build_gluploader = (
|
|
not get_option('gluploader').disabled()
|
|
and gst_clapper_gl_base_importer_dep.found()
|
|
)
|
|
|
|
if build_gluploader
|
|
library(
|
|
'gstclappergluploader',
|
|
'gstclappergluploader.c',
|
|
dependencies: gst_clapper_gl_base_importer_dep,
|
|
include_directories: configinc,
|
|
c_args: gst_clapper_plugin_args,
|
|
install: true,
|
|
install_dir: gst_clapper_importers_libdir,
|
|
)
|
|
endif
|
|
|
|
# No need to auto build rawimporter if we are building gluploader
|
|
build_rawimporter = (
|
|
not get_option('rawimporter').disabled()
|
|
and (not build_gluploader or get_option('rawimporter').enabled())
|
|
)
|
|
|
|
if build_rawimporter
|
|
library(
|
|
'gstclapperrawimporter',
|
|
'gstclapperrawimporter.c',
|
|
dependencies: gst_clapper_sink_dep,
|
|
include_directories: configinc,
|
|
c_args: gst_clapper_plugin_args,
|
|
install: true,
|
|
install_dir: gst_clapper_importers_libdir,
|
|
)
|
|
endif
|