mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-29 23:32:04 +02:00
meson: Cleanup plugin build script
This commit is contained in:
4
lib/gst/meson.build
vendored
4
lib/gst/meson.build
vendored
@@ -2,6 +2,4 @@ if get_option('lib')
|
||||
subdir('clapper')
|
||||
endif
|
||||
|
||||
if not get_option('gst-plugin').disabled()
|
||||
subdir('plugin')
|
||||
endif
|
||||
subdir('plugin')
|
||||
|
48
lib/gst/plugin/importers/meson.build
vendored
48
lib/gst/plugin/importers/meson.build
vendored
@@ -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
|
||||
|
27
lib/gst/plugin/meson.build
vendored
27
lib/gst/plugin/meson.build
vendored
@@ -4,6 +4,8 @@ gst_clapper_plugin_args = [
|
||||
'-DHAVE_CONFIG_H',
|
||||
'-DGST_USE_UNSTABLE_API',
|
||||
]
|
||||
|
||||
gst_clapper_sink_dep = dependency('', required: false)
|
||||
gtk4_dep = dependency('gtk4', version: '>=4.6.0', required: false)
|
||||
|
||||
gmodule_dep = dependency('gmodule-2.0',
|
||||
@@ -20,12 +22,13 @@ gst_clapper_plugin_deps = [
|
||||
gmodule_dep,
|
||||
]
|
||||
|
||||
build_gst_plugin = not get_option('gst-plugin').disabled()
|
||||
foreach dep : gst_clapper_plugin_deps
|
||||
if not dep.found()
|
||||
if get_option('gst-plugin').enabled()
|
||||
error('GStreamer plugin was enabled, but required dependencies were not found')
|
||||
endif
|
||||
subdir_done()
|
||||
build_gst_plugin = false
|
||||
endif
|
||||
endforeach
|
||||
|
||||
@@ -42,17 +45,19 @@ gst_clapper_plugin_sources = [
|
||||
'gstclapperimporterloader.c',
|
||||
]
|
||||
|
||||
gst_clapper_sink_dep = declare_dependency(
|
||||
link_with: library('gstclapper',
|
||||
gst_clapper_plugin_sources,
|
||||
c_args: gst_clapper_plugin_args,
|
||||
if build_gst_plugin
|
||||
gst_clapper_sink_dep = declare_dependency(
|
||||
link_with: library('gstclapper',
|
||||
gst_clapper_plugin_sources,
|
||||
c_args: gst_clapper_plugin_args,
|
||||
include_directories: configinc,
|
||||
dependencies: gst_clapper_plugin_deps,
|
||||
install: true,
|
||||
install_dir: gst_plugins_libdir,
|
||||
),
|
||||
include_directories: configinc,
|
||||
dependencies: gst_clapper_plugin_deps,
|
||||
install: true,
|
||||
install_dir: gst_plugins_libdir,
|
||||
),
|
||||
include_directories: configinc,
|
||||
dependencies: gst_clapper_plugin_deps,
|
||||
)
|
||||
)
|
||||
endif
|
||||
|
||||
subdir('importers')
|
||||
|
@@ -14,11 +14,6 @@ option('gst-plugin',
|
||||
description: 'Build GStreamer plugin (includes GTK video sink element)'
|
||||
)
|
||||
|
||||
option('rawimporter',
|
||||
type: 'feature',
|
||||
value: 'auto',
|
||||
description: 'Build RAW system memory importer for clappersink'
|
||||
)
|
||||
option('glimporter',
|
||||
type: 'feature',
|
||||
value: 'auto',
|
||||
@@ -29,6 +24,11 @@ option('gluploader',
|
||||
value: 'auto',
|
||||
description: 'Build GL uploader for clappersink'
|
||||
)
|
||||
option('rawimporter',
|
||||
type: 'feature',
|
||||
value: 'auto',
|
||||
description: 'Build RAW system memory importer for clappersink'
|
||||
)
|
||||
|
||||
option('devel-checks',
|
||||
type: 'boolean',
|
||||
|
Reference in New Issue
Block a user