build: Add meson build system files
This commit is contained in:
22
data/meson.build
Normal file
22
data/meson.build
Normal file
@@ -0,0 +1,22 @@
|
||||
install_data(
|
||||
'80-iio-sensor-proxy.rules',
|
||||
install_dir: udev_rules_dir
|
||||
)
|
||||
|
||||
data_conf = configuration_data()
|
||||
data_conf.set('sbindir', sbindir)
|
||||
data_conf.set('geoclue_user', get_option('geoclue-user'))
|
||||
|
||||
configure_file(
|
||||
input: 'iio-sensor-proxy.service.in',
|
||||
output: 'iio-sensor-proxy.service',
|
||||
configuration: data_conf,
|
||||
install_dir: systemd_system_unit_dir,
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'net.hadess.SensorProxy.conf.in',
|
||||
output: 'net.hadess.SensorProxy.conf',
|
||||
configuration: data_conf,
|
||||
install_dir: dbusconfdir
|
||||
)
|
47
docs/meson.build
Normal file
47
docs/meson.build
Normal file
@@ -0,0 +1,47 @@
|
||||
content_files = files()
|
||||
|
||||
version_conf = configuration_data()
|
||||
version_conf.set('VERSION', meson.project_version())
|
||||
|
||||
content_files += configure_file(
|
||||
input: 'version.xml.in',
|
||||
output: 'version.xml',
|
||||
configuration: version_conf,
|
||||
)
|
||||
|
||||
content_files += gnome.gdbus_codegen(
|
||||
meson.project_name(),
|
||||
sources: meson.source_root() / 'src' / 'net.hadess.SensorProxy.xml',
|
||||
interface_prefix: 'net.hadess',
|
||||
namespace: 'SensorProxy',
|
||||
docbook: 'docs',
|
||||
build_by_default: true,
|
||||
)
|
||||
|
||||
gnome.gtkdoc(
|
||||
meson.project_name(),
|
||||
main_xml: meson.project_name() + '-docs.xml',
|
||||
content_files: content_files,
|
||||
src_dir: [
|
||||
meson.source_root() /'src',
|
||||
meson.build_root() / 'src',
|
||||
],
|
||||
ignore_headers: ['drivers.h', 'iio-buffer-utils.h', 'orientation.h', 'uinput.h', 'accel-mount-matrix.h'],
|
||||
scan_args: ['--rebuild-sections'],
|
||||
)
|
||||
|
||||
man1_dir = join_paths(get_option('prefix'), get_option('mandir'), 'man1')
|
||||
|
||||
xsltproc = find_program('xsltproc', required : true)
|
||||
xsltproc_command = [
|
||||
xsltproc,
|
||||
'--nonet',
|
||||
'--stringparam', 'man.output.quietly', '1',
|
||||
'--stringparam', 'funcsynopsis.style', 'ansi',
|
||||
'--stringparam', 'man.th.extra1.suppress', '1',
|
||||
'--stringparam', 'man.authors.section.enabled', '0',
|
||||
'--stringparam', 'man.copyright.section.enabled', '0',
|
||||
'-o', '@OUTPUT@',
|
||||
'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl',
|
||||
'@INPUT@',
|
||||
]
|
62
meson.build
Normal file
62
meson.build
Normal file
@@ -0,0 +1,62 @@
|
||||
project('iio-sensor-proxy', [ 'c' ],
|
||||
version: '2.5',
|
||||
license: 'GPLv2+',
|
||||
default_options: [
|
||||
'buildtype=debugoptimized',
|
||||
'warning_level=1',
|
||||
'c_std=c99',
|
||||
],
|
||||
meson_version: '>= 0.54.0')
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
common_cflags = cc.get_supported_arguments([
|
||||
'-fgnu89-inline',
|
||||
'-fvisibility=hidden',
|
||||
'-std=gnu99',
|
||||
'-Wall',
|
||||
'-Wundef',
|
||||
'-Wunused',
|
||||
'-Wstrict-prototypes',
|
||||
'-Werror-implicit-function-declaration',
|
||||
'-Wno-pointer-sign',
|
||||
'-Wshadow'
|
||||
])
|
||||
|
||||
sbindir = get_option('sbindir')
|
||||
bindir = get_option('bindir')
|
||||
dbusconfdir = get_option('sysconfdir') / 'dbus-1' / 'system.d'
|
||||
|
||||
mathlib_dep = cc.find_library('m', required: false)
|
||||
udev_rules_dir = get_option('udevrulesdir')
|
||||
if udev_rules_dir == 'auto'
|
||||
udev_dep = dependency('udev')
|
||||
udev_rules_dir = udev_dep.get_pkgconfig_variable('udevdir') + '/rules.d'
|
||||
endif
|
||||
systemd_system_unit_dir = get_option('systemdsystemunitdir')
|
||||
if systemd_system_unit_dir == 'auto'
|
||||
systemd_dep = dependency('systemd')
|
||||
systemd_system_unit_dir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
|
||||
endif
|
||||
if get_option('gtk-tests')
|
||||
gtk_dep = dependency('gtk+-3.0', required: false)
|
||||
endif
|
||||
gio_dep = dependency('gio-2.0')
|
||||
gudev_dep = dependency('gudev-1.0', version: '>= 232')
|
||||
|
||||
gnome = import('gnome')
|
||||
|
||||
add_global_arguments('-D_GNU_SOURCE=1', language: 'c')
|
||||
|
||||
subdir('src')
|
||||
subdir('data')
|
||||
|
||||
if get_option('gtk_doc')
|
||||
# Make like license available in the build root for docs
|
||||
configure_file(
|
||||
input: 'COPYING',
|
||||
output: 'COPYING',
|
||||
copy: true,
|
||||
)
|
||||
subdir('docs')
|
||||
endif
|
20
meson_options.txt
Normal file
20
meson_options.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
option('udevrulesdir',
|
||||
description: 'udev rules directory',
|
||||
type: 'string',
|
||||
value: 'auto')
|
||||
option('systemdsystemunitdir',
|
||||
description: 'systemd unit directory',
|
||||
type: 'string',
|
||||
value: 'auto')
|
||||
option('gtk-tests',
|
||||
description: 'Whether to build GTK tests',
|
||||
type: 'boolean',
|
||||
value: false)
|
||||
option('geoclue-user',
|
||||
description: 'The USER (existing) as which geoclue service is running',
|
||||
type: 'string',
|
||||
value: 'geoclue')
|
||||
option('gtk_doc',
|
||||
type: 'boolean',
|
||||
value: false,
|
||||
description: 'Build docs')
|
69
src/meson.build
Normal file
69
src/meson.build
Normal file
@@ -0,0 +1,69 @@
|
||||
deps = [ gio_dep, gudev_dep, mathlib_dep ]
|
||||
|
||||
resources = gnome.compile_resources(
|
||||
'iio-sensor-proxy-resources', 'iio-sensor-proxy.gresource.xml',
|
||||
c_name: 'iio_sensor_proxy',
|
||||
source_dir: '.',
|
||||
export: true
|
||||
)
|
||||
|
||||
sources = [
|
||||
'iio-sensor-proxy.c',
|
||||
'drivers.c',
|
||||
'orientation.c',
|
||||
'drv-iio-buffer-accel.c',
|
||||
'drv-iio-poll-accel.c',
|
||||
'drv-input-accel.c',
|
||||
'drv-fake-compass.c',
|
||||
'drv-fake-light.c',
|
||||
'drv-iio-poll-light.c',
|
||||
'drv-hwmon-light.c',
|
||||
'drv-iio-buffer-light.c',
|
||||
'drv-iio-buffer-compass.c',
|
||||
'drv-iio-poll-proximity.c',
|
||||
'iio-buffer-utils.c',
|
||||
'accel-mount-matrix.c',
|
||||
'accel-scale.c',
|
||||
'accel-attributes.c',
|
||||
resources,
|
||||
]
|
||||
|
||||
executable('iio-sensor-proxy',
|
||||
sources,
|
||||
dependencies: deps,
|
||||
install: true,
|
||||
install_dir: sbindir
|
||||
)
|
||||
|
||||
executable('fake-input-accelerometer',
|
||||
[ 'fake-input-accelerometer.c' ],
|
||||
dependencies: deps,
|
||||
install: false
|
||||
)
|
||||
|
||||
executable('test-mount-matrix',
|
||||
[ 'test-mount-matrix.c', 'accel-mount-matrix.c' ],
|
||||
dependencies: deps,
|
||||
install: false
|
||||
)
|
||||
|
||||
executable('test-orientation',
|
||||
[ 'test-orientation.c', 'orientation.c', 'accel-mount-matrix.c', 'accel-scale.c' ],
|
||||
dependencies: deps,
|
||||
install: false
|
||||
)
|
||||
|
||||
if get_option('gtk-tests')
|
||||
executable('test-orientation-gtk',
|
||||
[ 'test-orientation-gtk.c', 'orientation.c', 'accel-scale.c' ],
|
||||
dependencies: [ deps, gtk_dep ],
|
||||
install: false
|
||||
)
|
||||
endif
|
||||
|
||||
executable('monitor-sensor',
|
||||
[ 'monitor-sensor.c' ],
|
||||
dependencies: gio_dep,
|
||||
install: true,
|
||||
install_dir: bindir
|
||||
)
|
Reference in New Issue
Block a user