summaryrefslogtreecommitdiff
path: root/src/codec/meson.build
blob: a92a23d0619958da5dd2c7dc9cdc9ce21ec4d91b (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
codec_src = ['packet_ext.c', 'codecs.c']

codec_server_deps = []
codec_client_deps = []

if 'ffmpeg' in get_option('codecs')
  subdir('ffmpeg')
endif

if 'stb_image' in get_option('codecs')
  stb = []
  stb_args = ['-DCAMU_HAVE_STB_IMAGE']
  if not compiler.check_header('stb/stb_image.h')
    stb = [subproject('stb').get_variable('stb')]
    stb_args += ['-DCAMU_LOCAL_STB']
  endif
  stb_codec = declare_dependency(sources: ['stb_image.c'],
    dependencies: stb, compile_args: stb_args)
  codec_server_deps += [stb_codec]
  codec_client_deps += [stb_codec]
endif

if 'wuffs' in get_option('codecs')
  wuffs = []
  wuffs_args = ['-DCAMU_HAVE_WUFFS']
  if not compiler.check_header('wuffs/wuffs-v0.4.c')
    wuffs = [subproject('wuffs').get_variable('wuffs')]
    wuffs_args += ['-DCAMU_LOCAL_WUFFS']
  endif
  wuffs_codec = declare_dependency(sources: ['wuffs.c'],
    dependencies: wuffs, compile_args: wuffs_args)
  codec_server_deps += [wuffs_codec]
  codec_client_deps += [wuffs_codec]
endif

if 'spng' in get_option('codecs')
  spng = dependency('spng')
  spng_args = ['-DCAMU_HAVE_SPNG']
  spng_codec = declare_dependency(sources: ['spng.c'],
    dependencies: spng, compile_args: spng_args)
  codec_server_deps += [spng_codec]
  codec_client_deps += [spng_codec]
endif

codec_client_deps += [stela]

codecs_server = declare_dependency(sources: codec_src, dependencies: codec_server_deps)
codecs_client = declare_dependency(sources: codec_src, dependencies: codec_client_deps)