summaryrefslogtreecommitdiff
path: root/lib/cava/meson.build
blob: 874eaf75d38c8da85ca7d722966b032d74db7484 (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
75
76
77
78
79
80
project(
  'astal-cava',
  'c',
  version: run_command('cat', join_paths(meson.project_source_root(), 'version')).stdout().strip(),
  default_options: ['c_std=gnu11', 'warning_level=3', 'prefix=/usr'],
)

add_project_arguments(['-Wno-pedantic', '-Wno-unused-parameter'], language: 'c')

version_split = meson.project_version().split('.')
lib_so_version = version_split[0] + '.' + version_split[1]

pkg_config = import('pkgconfig')
gnome = import('gnome')

srcs = files(
  'astal-cava.h',
  'cava.c',
)

install_headers('astal-cava.h')

cava = dependency(
  'cava',
  version: '>=0.10.3',
  required: true,
  fallback: ['cava', 'cava_dep'],
)

deps = [
  dependency('gobject-2.0'),
  dependency('gio-2.0'),
  cava,
]

astal_cava_lib = library(
  'astal-cava',
  sources: srcs,
  dependencies: deps,
  version: meson.project_version(),
  install: true,
)

libastal_cava = declare_dependency(link_with: astal_cava_lib)

pkg_config_name = 'astal-cava-' + lib_so_version

if get_option('introspection')
  gir = gnome.generate_gir(
    astal_cava_lib,
    sources: srcs,
    nsversion: '0.1',
    namespace: 'AstalCava',
    symbol_prefix: 'astal_cava',
    identifier_prefix: 'AstalCava',
    includes: ['GObject-2.0', 'Gio-2.0'],
    header: 'astal-cava.h',
    export_packages: pkg_config_name,
    install: true,
  )

  if get_option('vapi')
    gnome.generate_vapi(
      pkg_config_name,
      sources: [gir[0]],
      packages: ['gobject-2.0', 'gio-2.0'],
      install: true,
    )
  endif
endif

pkg_config.generate(
  name: 'astal-cava',
  version: meson.project_version(),
  libraries: [astal_cava_lib],
  filebase: pkg_config_name,
  subdirs: 'astal',
  description: 'audio analyzing service using cava',
  url: 'https://github.com/Aylur/astal',
)