blob: 77c79140eb376f93c4d968dd555780be8db9d926 [file] [log] [blame]
# SPDX-License-Identifier: CC0-1.0
glib_dep = dependency('glib-2.0', required : get_option('gstreamer'))
gst_dep_version = '>=1.14.0'
gstvideo_dep = dependency('gstreamer-video-1.0', version : gst_dep_version,
required : get_option('gstreamer'))
gstallocator_dep = dependency('gstreamer-allocators-1.0', version : gst_dep_version,
required : get_option('gstreamer'))
if not glib_dep.found() or not gstvideo_dep.found() or not gstallocator_dep.found()
gst_enabled = false
subdir_done()
endif
gst_enabled = true
libcamera_gst_sources = [
'gstlibcamera-utils.cpp',
'gstlibcamera.cpp',
'gstlibcameraallocator.cpp',
'gstlibcamerapad.cpp',
'gstlibcamerapool.cpp',
'gstlibcameraprovider.cpp',
'gstlibcamerasrc.cpp',
]
libcamera_gst_cpp_args = [
'-DVERSION="@0@"'.format(libcamera_git_version),
'-DPACKAGE="@0@"'.format(meson.project_name()),
'-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40',
]
# The G_DECLARE_FINAL_TYPE macro creates static inline functions that were
# not marked as possibly unused prior to GLib v2.63.0. This causes clang to
# complain about the ones we are not using. Silence the -Wunused-function
# warning in that case.
if cc.get_id() == 'clang' and glib_dep.version().version_compare('<2.63.0')
libcamera_gst_cpp_args += ['-Wno-unused-function']
endif
libcamera_gst = shared_library('gstlibcamera',
libcamera_gst_sources,
cpp_args : libcamera_gst_cpp_args,
dependencies : [libcamera_public, gstvideo_dep, gstallocator_dep],
install: true,
install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
)