summaryrefslogtreecommitdiff
path: root/src/apps/cam/meson.build
blob: 06dbea0645b73011d1ff370ecae693d50e238fa7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# 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)
libjpeg = dependency('libjpeg', required : false)
libsdl2 = dependency('SDL2', required : false)
libtiff = dependency('libtiff-4', 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_yuv.cpp',
    ])

    if libjpeg.found()
        cam_cpp_args += ['-DHAVE_LIBJPEG']
        cam_sources += files([
            'sdl_texture_mjpg.cpp'
        ])
    endif
endif

if libtiff.found()
    cam_cpp_args += ['-DHAVE_TIFF']
    cam_sources += files([
        'dng_writer.cpp',
    ])
endif

cam  = executable('cam', cam_sources,
                  dependencies : [
                      libatomic,
                      libcamera_public,
                      libdrm,
                      libevent,
                      libjpeg,
                      libsdl2,
                      libtiff,
                      libyaml,
                  ],
                  cpp_args : cam_cpp_args,
                  install : true)