| # 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')), |
| ) |