Skip to content
Snippets Groups Projects
meson.build 2.67 KiB
Newer Older
  'configuration.c',
  'core.c',
  'debug.c',
  'iterator.c',
  'module.c',
  'object-interest.c',
  'object-manager.c',
  'plugin.c',
Julian Bouzas's avatar
Julian Bouzas committed
  'proxy.c',
  'session-item.c',
Julian Bouzas's avatar
Julian Bouzas committed
  'spa-pod.c',
  'spa-type.c',
  'configuration.h',
  'core.h',
  'iterator.h',
  'module.h',
  'object-interest.h',
  'object-manager.h',
  'plugin.h',
Julian Bouzas's avatar
Julian Bouzas committed
  'proxy.h',
  'session-item.h',
  'si-interfaces.h',
Julian Bouzas's avatar
Julian Bouzas committed
  'spa-pod.h',
Julian Bouzas's avatar
Julian Bouzas committed
  'spa-type.h',
  install_dir : wireplumber_headers_dir
enums = gnome.mkenums_simple('wpenums',
  sources: wp_lib_headers,
  header_prefix: '#include "wp/defs.h"',
  decorator: 'WP_API',
  install_header: true,
  install_dir: wireplumber_headers_dir,
wpenums_h = enums[1]
wpenums_c = enums[0]
wp_gen_sources = [wpenums_h]
wpversion_data = configuration_data()
wpversion_data.set('version', meson.project_version())
wpversion_data.set('api_version', wireplumber_api_version)
wpversion = configure_file(
  input : 'wpversion.h.in',
  output : 'wpversion.h',
  configuration : wpversion_data,
  install_dir: wireplumber_headers_dir
)
wp_gen_sources += [wpversion]

wp_lib = library('wireplumber-' + wireplumber_api_version,
  wp_lib_sources, wpenums_c, wpenums_h, wpversion,
  c_args : [
    '-D_GNU_SOURCE',
    '-DG_LOG_USE_STRUCTURED',
    '-DWIREPLUMBER_DEFAULT_MODULE_DIR="@0@"'.format(wireplumber_module_dir),
  include_directories: wp_lib_include_dir,
Julian Bouzas's avatar
Julian Bouzas committed
  dependencies : [gobject_dep, gmodule_dep, gio_dep, pipewire_dep],
  soversion: wireplumber_so_version,
  version: meson.project_version(),
if build_gir
  wp_gir = gnome.generate_gir(wp_lib,
    namespace: 'Wp',
    nsversion: wireplumber_api_version,
    sources: [wp_lib_sources, wp_lib_headers, wpenums_c, wpenums_h],
Julian Bouzas's avatar
Julian Bouzas committed
    includes: ['GLib-2.0', 'GObject-2.0', 'Gio-2.0'],

wp_dep = declare_dependency(
  link_with: wp_lib,
  include_directories: wp_lib_include_dir,
  dependencies: [gobject_dep, gio_dep]

pkgconfig.generate(wp_lib,
  libraries: [gobject_dep, gio_dep],
  subdirs: 'wireplumber-' + wireplumber_api_version
)