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',
)
|