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