meson: Add options to control drm, sdl2, jpeg dependencies of cam
Previously it was not possible to control these dependencies, they were always used if found. Furthermore, libjpeg was unnecessarily added as a dependency even if sdl2 was not found. Fix that by introducing three options to control the dependencies. Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> Reviewed-by: Milan Zamazal <mzamazal@redhat.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
+22
-14
@@ -17,9 +17,18 @@ cam_sources = files([
|
||||
|
||||
cam_cpp_args = [apps_cpp_args]
|
||||
|
||||
libdrm = dependency('libdrm', required : false)
|
||||
libjpeg = dependency('libjpeg', required : false)
|
||||
libsdl2 = dependency('SDL2', required : false)
|
||||
cam_deps = [
|
||||
libatomic,
|
||||
libcamera_public,
|
||||
libevent,
|
||||
libthreads,
|
||||
libyaml,
|
||||
libtiff,
|
||||
]
|
||||
|
||||
libdrm = dependency('libdrm', required : get_option('cam-output-kms'))
|
||||
libsdl2 = dependency('SDL2', required : get_option('cam-output-sdl2'))
|
||||
libjpeg = dependency('libjpeg', required : get_option('cam-jpeg'))
|
||||
|
||||
if libdrm.found()
|
||||
cam_cpp_args += [ '-DHAVE_KMS' ]
|
||||
@@ -27,6 +36,9 @@ if libdrm.found()
|
||||
'drm.cpp',
|
||||
'kms_sink.cpp'
|
||||
])
|
||||
cam_deps += [
|
||||
libdrm,
|
||||
]
|
||||
endif
|
||||
|
||||
if libsdl2.found()
|
||||
@@ -37,28 +49,24 @@ if libsdl2.found()
|
||||
'sdl_texture_1plane.cpp',
|
||||
'sdl_texture_yuv.cpp',
|
||||
])
|
||||
cam_deps += [
|
||||
libsdl2,
|
||||
]
|
||||
|
||||
if libjpeg.found()
|
||||
cam_cpp_args += ['-DHAVE_LIBJPEG']
|
||||
cam_sources += files([
|
||||
'sdl_texture_mjpg.cpp'
|
||||
])
|
||||
cam_deps += [
|
||||
libjpeg,
|
||||
]
|
||||
endif
|
||||
endif
|
||||
|
||||
cam = executable('cam', cam_sources,
|
||||
link_with : apps_lib,
|
||||
dependencies : [
|
||||
libatomic,
|
||||
libcamera_public,
|
||||
libdrm,
|
||||
libevent,
|
||||
libjpeg,
|
||||
libsdl2,
|
||||
libtiff,
|
||||
libthreads,
|
||||
libyaml,
|
||||
],
|
||||
dependencies : cam_deps,
|
||||
cpp_args : cam_cpp_args,
|
||||
install : true,
|
||||
install_tag : 'bin')
|
||||
|
||||
Reference in New Issue
Block a user