Jan Tojnar bc93bbf5c8 gst-analytics: Add gst-video to Requires in pkg-config
`gst/analytics/analytics.h` includes `gst/analytics/gstanalyticssegmentationmtd.h`,
which in turn `gst/video/video-info.h` but `gst-video-1.0` was only listed
in `Requires.private` field of `gst-analytics-1.0.pc`.

This would cause projects linking against `gst-analytics-1.0.pc` to fail to find
the headers when using alternative interpretation of pkg-config specification
that only considers private dependencies for include path during static builds,
such as the case e.g. on Nix.

https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/28

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8661>
2025-03-26 23:40:04 +00:00

81 lines
2.8 KiB
Meson

analytics_sources = files( 'gstanalyticsmeta.c',
'gstanalyticsclassificationmtd.c',
'gstanalyticsobjectdetectionmtd.c',
'gstanalyticsobjecttrackingmtd.c',
'gstanalyticssegmentationmtd.c',
'gsttensormeta.c',
'gsttensor.c')
analytics_headers = files( 'analytics.h',
'gstanalyticsmeta.h',
'analytics-meta-prelude.h',
'gstanalyticsclassificationmtd.h',
'gstanalyticsobjectdetectionmtd.h',
'gstanalyticsobjecttrackingmtd.h',
'gstanalyticssegmentationmtd.h',
'gsttensormeta.h',
'gsttensor.h')
install_headers(analytics_headers, subdir : 'gstreamer-1.0/gst/analytics')
doc_sources = []
foreach s: analytics_sources + analytics_headers
doc_sources += s.full_path()
endforeach
libs_sources += {
'analytics': pathsep.join(doc_sources)
}
pkg_name = 'gstreamer-analytics-1.0'
gstanalytics = library('gstanalytics-' + api_version,
analytics_sources,
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_ANALYTICS', '-DG_LOG_DOMAIN="GStreamer-Analytics"'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
darwin_versions : osxversion,
install : true,
dependencies : [gstbase_dep, gstvideo_dep],
link_args : ['-lm'])
pkgconfig.generate(gstanalytics,
libraries : [gst_dep, gstbase_dep, gstvideo_dep, '-lm'],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
name : pkg_name,
description : 'GStreamer analytics metadata library',
)
gen_sources = []
library_def = {'lib': gstanalytics}
if build_gir
gir = {
'sources' : analytics_sources + analytics_headers,
'namespace' : 'GstAnalytics',
'nsversion' : api_version,
'identifier_prefix' : ['GstAnalytics', 'Gst'],
'symbol_prefix' : ['gst_analytics', 'gst'],
'export_packages' : pkg_name,
'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
'install' : true,
'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'],
'dependencies' : [gstbase_dep, gstvideo_dep]
}
library_def += {'gir': [gir]}
if not static_build
analytics_gir = gnome.generate_gir(gstanalytics, kwargs: gir)
library_def += {'gir_targets': library_def.get('gir_targets', []) + [analytics_gir]}
gen_sources += analytics_gir
endif
endif
gst_libraries += [[pkg_name, library_def]]
gstanalytics_dep = declare_dependency(link_with : gstanalytics,
include_directories : [libsinc],
sources: gen_sources,
dependencies : [gstbase_dep, gstvideo_dep])
meson.override_dependency(pkg_name, gstanalytics_dep)