1public_headers = [
2	'gmenu-tree.h',
3  'gmenu-desktopappinfo.h'
4]
5
6public_sources = [
7    'gmenu-tree.c',
8    'gmenu-desktopappinfo.c',
9    public_headers,
10]
11
12libmenu_private_headers = [
13    'desktop-entries.h',
14    'entry-directories.h',
15    'menu-layout.h',
16    'menu-monitor.h',
17    'menu-util.h',
18]
19
20libmenu_sources = [
21    'desktop-entries.c',
22    'entry-directories.c',
23    'menu-layout.c',
24    'menu-monitor.c',
25    'menu-util.c',
26    public_sources,
27    libmenu_private_headers,
28]
29
30libmenu_deps = [
31    gio,
32    config_h,
33]
34
35libcinnamon_menus = library(
36    'cinnamon-menu-3',
37    libmenu_sources,
38    soversion: binary_major_version,
39    version: binary_version,
40    include_directories: include_root,
41    dependencies: libmenu_deps,
42    install: true,
43    build_by_default: false,
44)
45
46cmenu_dep = declare_dependency(
47    include_directories: include_directories('.'),
48    link_with: libcinnamon_menus,
49    dependencies: libmenu_deps,
50    link_args: ['-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now'],
51)
52
53install_headers(
54    public_headers,
55    subdir: 'cinnamon-menus-3.0'
56)
57
58pkgconfig = import('pkgconfig')
59
60# meson 0.46.0 can drop the version keyword and move libraries to a
61# positional argument
62pkgconfig.generate(
63    name: 'libcinnamon-menu-3.0',
64    description: 'Desktop Menu Specification Implementation',
65    version: version,
66    libraries: libcinnamon_menus,
67    subdirs: 'cinnamon-menus-3.0'
68)
69
70gnome.generate_gir(
71    libcinnamon_menus,
72    namespace: 'CMenu',
73    nsversion: '3.0',
74    sources: public_sources,
75    identifier_prefix: 'GMenu',
76    symbol_prefix: 'gmenu',
77    includes: 'Gio-2.0',
78    install: true,
79    install_dir_gir: join_paths(datadir, 'gir-1.0'),
80    export_packages: 'libcinnamon-menu-3.0',
81)
82