mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-29 23:32:04 +02:00
We cannot compile app as a whole on MS Windows yet, but with those changes it is now possible to compile and run our new video sink alone on Windows OS
121 lines
3.2 KiB
Meson
Vendored
121 lines
3.2 KiB
Meson
Vendored
gstclapper_sources = [
|
|
'gstclapper.c',
|
|
'gstclapper-signal-dispatcher.c',
|
|
'gstclapper-video-renderer.c',
|
|
'gstclapper-media-info.c',
|
|
'gstclapper-g-main-context-signal-dispatcher.c',
|
|
'gstclapper-video-overlay-video-renderer.c',
|
|
'gstclapper-visualization.c',
|
|
'gstclapper-mpris.c',
|
|
'gstclapper-gtk4-plugin.c',
|
|
|
|
'gtk4/gstclapperglsink.c',
|
|
'gtk4/gstgtkutils.c',
|
|
'gtk4/gtkclapperglwidget.c',
|
|
'gtk4/gstclapperglutils.c',
|
|
]
|
|
gstclapper_headers = [
|
|
'clapper.h',
|
|
'clapper-prelude.h',
|
|
'gstclapper.h',
|
|
'gstclapper-types.h',
|
|
'gstclapper-signal-dispatcher.h',
|
|
'gstclapper-video-renderer.h',
|
|
'gstclapper-media-info.h',
|
|
'gstclapper-g-main-context-signal-dispatcher.h',
|
|
'gstclapper-video-overlay-video-renderer.h',
|
|
'gstclapper-visualization.h',
|
|
'gstclapper-mpris.h',
|
|
'gstclapper-gtk4-plugin.h',
|
|
]
|
|
gstclapper_defines = [
|
|
'-DHAVE_CONFIG_H',
|
|
'-DBUILDING_GST_CLAPPER',
|
|
'-DGST_USE_UNSTABLE_API',
|
|
'-DHAVE_GTK_GL',
|
|
]
|
|
gtk_deps = [gstgl_dep, gstglproto_dep]
|
|
have_gtk_gl_windowing = false
|
|
|
|
gtk4_dep = dependency('gtk4', required: true)
|
|
|
|
if not gtk4_dep.version().version_compare('>=4.0.0')
|
|
error('GTK4 version on this system is too old')
|
|
endif
|
|
|
|
if not gir.found()
|
|
error('Cannot build lib without GIR support')
|
|
endif
|
|
|
|
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()
|
|
gtk_deps += gtk_x11_dep
|
|
if gst_gl_have_platform_glx
|
|
gtk_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()
|
|
gtk_deps += [gtk_wayland_dep, gstglwayland_dep]
|
|
have_gtk_gl_windowing = true
|
|
endif
|
|
endif
|
|
|
|
if gst_gl_have_platform_egl
|
|
gtk_deps += gstglegl_dep
|
|
endif
|
|
|
|
if not have_gtk_gl_windowing
|
|
error('GTK4 widget requires GL windowing')
|
|
endif
|
|
|
|
gstclapper_mpris_gdbus = gnome.gdbus_codegen('gstclapper-mpris-gdbus',
|
|
sources: '../../../data/gstclapper-mpris-gdbus.xml',
|
|
interface_prefix: 'org.mpris.',
|
|
namespace: 'GstClapperMpris'
|
|
)
|
|
|
|
gstclapper_deps = [
|
|
gtk4_dep, glib_dep, gio_dep,
|
|
gstbase_dep, gstvideo_dep, gstaudio_dep,
|
|
gsttag_dep, gstpbutils_dep, libm
|
|
] + gtk_deps
|
|
|
|
if os_unix
|
|
gstclapper_deps += giounix_dep
|
|
else
|
|
gstclapper_deps += giowin_dep
|
|
endif
|
|
|
|
gstclapper = library('gstclapper-' + api_version,
|
|
gstclapper_sources + gstclapper_mpris_gdbus,
|
|
c_args: gstclapper_defines,
|
|
link_args: noseh_link_args,
|
|
include_directories: [configinc, libsinc],
|
|
version: libversion,
|
|
install: true,
|
|
install_dir: pkglibdir,
|
|
dependencies: gstclapper_deps,
|
|
)
|
|
|
|
clapper_gir = gnome.generate_gir(gstclapper,
|
|
sources: gstclapper_sources + gstclapper_headers,
|
|
namespace: 'GstClapper',
|
|
nsversion: api_version,
|
|
identifier_prefix: 'Gst',
|
|
symbol_prefix: 'gst',
|
|
export_packages: 'gstreamer-clapper-1.0',
|
|
includes: ['Gst-1.0', 'GstPbutils-1.0', 'GstBase-1.0', 'GstVideo-1.0',
|
|
'GstAudio-1.0', 'GstTag-1.0'],
|
|
install: true,
|
|
install_dir_typelib: join_paths(pkglibdir, 'girepository-1.0'),
|
|
extra_args: gir_init_section + ['-DGST_USE_UNSTABLE_API'],
|
|
dependencies: [gstbase_dep, gstvideo_dep, gstaudio_dep,
|
|
gsttag_dep, gstpbutils_dep]
|
|
)
|