diff --git a/lib/gst/clapper/meson.build b/lib/gst/clapper/meson.build index 168946b8..2ce5e78e 100644 --- a/lib/gst/clapper/meson.build +++ b/lib/gst/clapper/meson.build @@ -43,6 +43,10 @@ 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() @@ -76,6 +80,18 @@ gstclapper_mpris_gdbus = gnome.gdbus_codegen('gstclapper-mpris-gdbus', 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, @@ -84,9 +100,7 @@ gstclapper = library('gstclapper-' + api_version, version: libversion, install: true, install_dir: pkglibdir, - dependencies: [gtk4_dep, glib_dep, gio_dep, giounix_dep, - gstbase_dep, gstvideo_dep, gstaudio_dep, - gsttag_dep, gstpbutils_dep, libm] + gtk_deps, + dependencies: gstclapper_deps, ) clapper_gir = gnome.generate_gir(gstclapper, diff --git a/lib/meson.build b/lib/meson.build index 45b94330..c930620b 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -9,6 +9,8 @@ cxx = meson.get_compiler('cpp') cdata = configuration_data() +os_unix = host_machine.system() != 'windows' + if cc.get_id() == 'msvc' msvc_args = [ # Ignore several spurious warnings for things gstreamer does very commonly @@ -243,7 +245,12 @@ libm = cc.find_library('m', required: false) glib_dep = dependency('glib-2.0', version: glib_req, fallback: ['glib', 'libglib_dep']) gmodule_dep = dependency('gmodule-2.0', fallback: ['glib', 'libgmodule_dep']) gio_dep = dependency('gio-2.0', fallback: ['glib', 'libgio_dep']) -giounix_dep = dependency('gio-unix-2.0', version: glib_req, fallback: ['glib', 'libgiounix_dep']) + +if os_unix + giounix_dep = dependency('gio-unix-2.0', version: glib_req, fallback: ['glib', 'libgio_dep']) +else + giowin_dep = dependency('gio-windows-2.0', version: glib_req, fallback : ['glib', 'libgio_dep']) +endif cdata.set('DISABLE_ORC', 1) cdata.set('GST_ENABLE_EXTRA_CHECKS', get_option('devel-checks')) @@ -251,7 +258,7 @@ cdata.set('GST_ENABLE_EXTRA_CHECKS', get_option('devel-checks')) configinc = include_directories('.') libsinc = include_directories('gst') -gir = find_program('g-ir-scanner') +gir = find_program('g-ir-scanner', required: false) gir_init_section = ['--add-init-section=extern void gst_init(gint*,gchar**);' + \ 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \