mirror of
https://gitlab.gnome.org/GNOME/libgnome-volume-control.git
synced 2024-10-05 21:56:14 -04:00
5b97727788
The dependency already specifies the library to link with, no need to also list the sources used to compile said library.
146 lines
3.3 KiB
Meson
146 lines
3.3 KiB
Meson
project('gvc', 'c',
|
|
meson_version: '>= 0.38.0',
|
|
default_options: ['static=true']
|
|
)
|
|
|
|
if not meson.is_subproject()
|
|
error('This project is only intended to be used as a subproject!')
|
|
endif
|
|
|
|
gnome = import('gnome')
|
|
|
|
pkglibdir = get_option('pkglibdir')
|
|
pkgdatadir = get_option('pkgdatadir')
|
|
|
|
alsa = dependency('alsa', required: false)
|
|
gio = dependency('gio-2.0')
|
|
gobject = dependency('gobject-2.0')
|
|
libpulse = dependency('libpulse', version: '>= 2.0')
|
|
libpulse_glib = dependency('libpulse-mainloop-glib')
|
|
|
|
cdata = configuration_data()
|
|
cdata.set_quoted('GETTEXT_PACKAGE', get_option('package-name'))
|
|
cdata.set_quoted('PACKAGE_VERSION', get_option('package-version'))
|
|
cdata.set('HAVE_ALSA', alsa.found())
|
|
|
|
config = configure_file(
|
|
input: 'config.h.meson',
|
|
output: 'config.h',
|
|
configuration: cdata
|
|
)
|
|
|
|
libgvc_inc = include_directories('.')
|
|
|
|
libgvc_gir_sources = [
|
|
'gvc-mixer-card.h',
|
|
'gvc-mixer-card.c',
|
|
'gvc-mixer-stream.h',
|
|
'gvc-mixer-stream.c',
|
|
'gvc-channel-map.h',
|
|
'gvc-channel-map.c',
|
|
'gvc-mixer-ui-device.h',
|
|
'gvc-mixer-ui-device.c',
|
|
'gvc-mixer-sink.h',
|
|
'gvc-mixer-sink.c',
|
|
'gvc-mixer-source.h',
|
|
'gvc-mixer-source.c',
|
|
'gvc-mixer-sink-input.h',
|
|
'gvc-mixer-sink-input.c',
|
|
'gvc-mixer-source-output.h',
|
|
'gvc-mixer-source-output.c',
|
|
'gvc-mixer-event-role.h',
|
|
'gvc-mixer-event-role.c',
|
|
'gvc-mixer-control.h',
|
|
'gvc-mixer-control.c'
|
|
]
|
|
|
|
libgvc_no_gir_sources = [
|
|
'gvc-mixer-card-private.h',
|
|
'gvc-mixer-stream-private.h',
|
|
'gvc-channel-map-private.h',
|
|
'gvc-mixer-control-private.h',
|
|
'gvc-pulseaudio-fake.h'
|
|
]
|
|
|
|
libgvc_deps = [
|
|
alsa,
|
|
gio,
|
|
gobject,
|
|
libpulse,
|
|
libpulse_glib
|
|
]
|
|
|
|
static = get_option('static')
|
|
with_introspection = get_option('with-introspection')
|
|
|
|
if static and with_introspection
|
|
error('Currently meson requires a shared library for building girs.')
|
|
endif
|
|
|
|
c_args = ['-DG_LOG_DOMAIN="Gvc"']
|
|
|
|
if with_introspection
|
|
c_args += '-DWITH_INTROSPECTION'
|
|
endif
|
|
|
|
if static
|
|
libgvc_static = static_library('gvc',
|
|
sources: libgvc_gir_sources + libgvc_no_gir_sources,
|
|
include_directories: libgvc_inc,
|
|
dependencies: libgvc_deps,
|
|
c_args: c_args
|
|
)
|
|
|
|
libgvc = libgvc_static
|
|
else
|
|
if pkglibdir == ''
|
|
error('Installing shared library, but pkglibdir is unset!')
|
|
endif
|
|
|
|
libgvc_shared = shared_library('gvc',
|
|
sources: libgvc_gir_sources + libgvc_no_gir_sources,
|
|
include_directories: libgvc_inc,
|
|
dependencies: libgvc_deps,
|
|
c_args: c_args,
|
|
install_rpath: pkgdatadir,
|
|
install_dir: pkglibdir,
|
|
install: true
|
|
)
|
|
|
|
libgvc = libgvc_shared
|
|
endif
|
|
|
|
if with_introspection
|
|
if pkgdatadir == ''
|
|
error('Installing introspection, but pkgdatadir is unset!')
|
|
elif (pkglibdir == '')
|
|
error('Installing introspection, but pkglibdir is unset!')
|
|
endif
|
|
|
|
libgvc_gir = gnome.generate_gir(libgvc,
|
|
sources: libgvc_gir_sources,
|
|
nsversion: '1.0',
|
|
namespace: 'Gvc',
|
|
includes: ['Gio-2.0', 'GObject-2.0'],
|
|
extra_args: ['-DWITH_INTROSPECTION', '--quiet'],
|
|
install_dir_gir: pkgdatadir,
|
|
install_dir_typelib: pkglibdir,
|
|
install: true
|
|
)
|
|
endif
|
|
|
|
if alsa.found()
|
|
executable('test-audio-device-selection',
|
|
sources: 'test-audio-device-selection.c',
|
|
link_with: libgvc,
|
|
dependencies: libgvc_deps,
|
|
c_args: c_args
|
|
)
|
|
endif
|
|
|
|
libgvc_dep = declare_dependency(
|
|
link_with: libgvc,
|
|
include_directories: libgvc_inc,
|
|
dependencies: libgvc_deps
|
|
)
|