meson: Cleanup plugin build script

This commit is contained in:
Rafał Dzięgiel
2022-05-08 18:47:13 +02:00
parent b7b99c20cf
commit 4b93d4d132
4 changed files with 52 additions and 37 deletions

View File

@@ -1,23 +1,38 @@
gst_clapper_gl_base_importer_dep = dependency('', required: false)
plugin_needs_gl_base = (
all_importers = [
'glimporter',
'gluploader',
'rawimporter',
]
build_glbase = (
not get_option('glimporter').disabled()
or not get_option('gluploader').disabled()
)
plugin_gl_support_required = (
gl_support_required = (
get_option('glimporter').enabled()
or get_option('gluploader').enabled()
)
gst_plugin_gl_deps = [gstgl_dep, gstglproto_dep]
# We cannot build any importers without sink that they depend on
if not gst_clapper_sink_dep.found()
foreach imp : all_importers
if get_option(imp).enabled()
error('"@0@" option was enabled, but it requires building gstreamer plugin'.format(imp))
endif
endforeach
endif
gst_plugin_gl_base_deps = [gst_clapper_sink_dep, 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
gst_plugin_gl_base_deps += gtk_x11_dep
if gst_gl_have_platform_glx
gst_plugin_gl_deps += gstglx11_dep
gst_plugin_gl_base_deps += gstglx11_dep
endif
have_gtk_gl_windowing = true
endif
@@ -26,44 +41,40 @@ 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]
gst_plugin_gl_base_deps += [gtk_wayland_dep, gstglwayland_dep]
have_gtk_gl_windowing = true
endif
endif
if plugin_gl_support_required and not have_gtk_gl_windowing
if 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
gst_plugin_gl_base_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
foreach dep : gst_plugin_gl_base_deps
if not dep.found()
if plugin_gl_support_required
if gl_support_required
error('GL-based importer was enabled, but required dependencies were not found')
endif
plugin_needs_gl_base = false
build_glbase = false
endif
endforeach
if plugin_needs_gl_base
if build_glbase
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,
dependencies: gst_plugin_gl_base_deps,
version: libversion,
install: true,
),
include_directories: configinc,
dependencies: gst_clapper_gl_base_importer_deps,
dependencies: gst_plugin_gl_base_deps,
)
endif
@@ -105,6 +116,7 @@ endif
build_rawimporter = (
not get_option('rawimporter').disabled()
and (not build_gluploader or get_option('rawimporter').enabled())
and gst_clapper_sink_dep.found()
)
if build_rawimporter