meson: declare spa_dep and override_dependency() for spa and pipewire

This allows meson subprojects (or projects using pipewire as a meson
subproject) to be able to use dependency('libpipewire-0.3') and
dependency('libspa-0.2') to find the uninstalled versions of these
libraries directly from the build dir instead of going through pkg-config
This commit is contained in:
George Kiagiadakis 2021-06-16 18:25:34 +03:00
parent 19bcdaebe2
commit 7ab5c35cad
3 changed files with 12 additions and 3 deletions

View file

@ -1,7 +1,7 @@
project('pipewire', ['c' ],
version : '0.3.30',
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
meson_version : '>= 0.49.0',
meson_version : '>= 0.54.0',
default_options : [ 'warning_level=3',
'c_std=gnu99',
'b_pie=true',

View file

@ -44,9 +44,16 @@ if not get_option('examples').disabled()
subdir('examples')
endif
spa_dep = declare_dependency(
include_directories : [spa_inc],
version : spaversion,
)
pkgconfig.generate(filebase : 'lib@0@'.format(spa_name),
name : 'libspa',
subdirs : spa_name,
description : 'Simple Plugin API',
version : spaversion,
extra_cflags : '-D_REENTRANT')
meson.override_dependency('lib@0@'.format(spa_name), spa_dep)

View file

@ -107,8 +107,8 @@ libpipewire = shared_library(pipewire_name, pipewire_sources,
)
pipewire_dep = declare_dependency(link_with : libpipewire,
include_directories : [pipewire_inc, configinc, spa_inc],
dependencies : [pthread_lib, atomic_dep, ],
include_directories : [pipewire_inc, configinc],
dependencies : [pthread_lib, atomic_dep, spa_dep],
)
pkgconfig.generate(libpipewire,
@ -121,4 +121,6 @@ pkgconfig.generate(libpipewire,
extra_cflags : '-D_REENTRANT',
variables : ['moduledir=${libdir}/@0@'.format(pipewire_name)])
meson.override_dependency('lib@0@'.format(pipewire_name), pipewire_dep)
subdir('extensions')