# SPDX-License-Identifier: CC0-1.0 libevent = dependency('libevent_pthreads', required : get_option('cam')) if not libevent.found() cam_enabled = false subdir_done() endif cam_enabled = true cam_sources = files([ 'camera_session.cpp', 'capture_script.cpp', 'event_loop.cpp', 'file_sink.cpp', 'frame_sink.cpp', 'image.cpp', 'main.cpp', 'options.cpp', 'stream_options.cpp', ]) cam_cpp_args = [] libdrm = dependency('libdrm', required : false) libsdl2 = dependency('SDL2', required : false) libsdl2_image = dependency('SDL2_image', required : false) if libdrm.found() cam_cpp_args += [ '-DHAVE_KMS' ] cam_sources += files([ 'drm.cpp', 'kms_sink.cpp' ]) endif if libsdl2.found() cam_cpp_args += ['-DHAVE_SDL'] cam_sources += files([ 'sdl_sink.cpp', 'sdl_texture.cpp', 'sdl_texture_yuyv.cpp' ]) if libsdl2_image.found() cam_cpp_args += ['-DHAVE_SDL_IMAGE'] cam_sources += files([ 'sdl_texture_mjpg.cpp' ]) endif endif cam = executable('cam', cam_sources, dependencies : [ libatomic, libcamera_public, libdrm, libevent, libsdl2, libsdl2_image, libyaml, ], cpp_args : cam_cpp_args, install : true)