build: Format meson files

This will make adding future files less noisy.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
This commit is contained in:
Guido Günther
2025-03-05 11:30:50 +00:00
committed by Guido Günther
parent fe17c6d5ee
commit 99cc84c646
8 changed files with 366 additions and 438 deletions
+3 -14
View File
@@ -1,16 +1,5 @@
fbcli_sources = [
'fbcli.c',
]
fbcli_sources = ['fbcli.c']
fbcli_deps = [
libfeedback_dep,
gio,
gio_unix,
]
fbcli_deps = [libfeedback_dep, gio, gio_unix]
executable(
'fbcli',
fbcli_sources,
dependencies: fbcli_deps,
install: true,
)
executable('fbcli', fbcli_sources, dependencies: fbcli_deps, install: true)
+50 -54
View File
@@ -4,95 +4,91 @@ namespace = 'LfbGdbus'
generated_dbus_sources = []
dbus_interfaces = [
'org.sigxcpu.Feedback.xml',
'org.sigxcpu.Feedback.Haptic.xml',
]
dbus_interfaces = ['org.sigxcpu.Feedback.xml', 'org.sigxcpu.Feedback.Haptic.xml']
generated_dbus_sources += gnome.gdbus_codegen('lfb-gdbus',
sources : dbus_interfaces,
object_manager : false,
docbook : 'libfeedback',
interface_prefix : prefix,
install_header : true,
install_dir : join_paths(get_option('includedir'), libname),
namespace : namespace)
generated_dbus_sources += gnome.gdbus_codegen(
'lfb-gdbus',
sources: dbus_interfaces,
object_manager: false,
docbook: 'libfeedback',
interface_prefix: prefix,
install_header: true,
install_dir: join_paths(get_option('includedir'), libname),
namespace: namespace,
)
dbus_header_dir = meson.current_build_dir()
dbus_inc = include_directories('.')
install_data(dbus_interfaces, install_dir: ifacedir)
schemas = ['org.sigxcpu.feedbackd.gschema.xml']
compiled = gnome.compile_schemas(
build_by_default: true
)
compiled = gnome.compile_schemas(build_by_default: true)
compile_schemas = find_program('glib-compile-schemas', required: false)
if compile_schemas.found()
test('Validate schema file', compile_schemas,
args: ['--strict', '--dry-run', meson.current_source_dir()])
test(
'Validate schema file',
compile_schemas,
args: ['--strict', '--dry-run', meson.current_source_dir()],
)
endif
install_data(
schemas,
install_dir: 'share/glib-2.0/schemas'
)
install_data(schemas, install_dir: 'share/glib-2.0/schemas')
if get_option('daemon')
service_data = configuration_data()
service_data.set('libexecdir', libexecdir)
service_file = 'org.sigxcpu.Feedback.service'
service_data = configuration_data()
service_data.set('libexecdir', libexecdir)
service_file = 'org.sigxcpu.Feedback.service'
configure_file(
input : service_file + '.in',
output : service_file,
configuration : service_data,
install : true,
configure_file(
input: service_file + '.in',
output: service_file,
configuration: service_data,
install: true,
install_dir: servicedir,
)
)
theme_json = ['default.json']
install_data(
theme_json,
install_dir: feedbackd_theme_dir,
)
theme_json = ['default.json']
install_data(theme_json, install_dir: feedbackd_theme_dir)
if json_glib_validate.found()
if json_glib_validate.found()
jsons = []
foreach theme : theme_json
jsons += (join_paths(meson.current_source_dir(), theme))
endforeach
custom_target('validate-json',
custom_target(
'validate-json',
build_by_default: true,
input: theme_json,
output: 'json_validate_stamp',
command: [json_glib_validate.full_path()] + jsons)
endif
command: [json_glib_validate.full_path()] + jsons,
)
endif
if get_option('udev')
if get_option('udev')
install_data('90-feedbackd.rules', install_dir: udevdir)
endif
endif
systemd_user_unit_dir = get_option('systemd_user_unit_dir')
systemd_dep = dependency('systemd', required: false)
if systemd_user_unit_dir == ''
systemd_user_unit_dir = get_option('systemd_user_unit_dir')
systemd_dep = dependency('systemd', required: false)
if systemd_user_unit_dir == ''
if systemd_dep.found()
systemd_user_unit_dir = systemd_dep.get_variable('systemd_user_unit_dir')
else
systemd_user_unit_dir = prefix / libdir / 'systemd' / 'user'
endif
endif
endif
# Alert slider Systemd user service
alert_slider_unit = 'fbd-alert-slider.service'
configure_file(
input : alert_slider_unit + '.in',
output : alert_slider_unit,
configuration : service_data,
install : true,
install_dir : systemd_user_unit_dir,
)
# Alert slider Systemd user service
alert_slider_unit = 'fbd-alert-slider.service'
configure_file(
input: alert_slider_unit + '.in',
output: alert_slider_unit,
configuration: service_data,
install: true,
install_dir: systemd_user_unit_dir,
)
endif # daemon
+25 -31
View File
@@ -1,33 +1,37 @@
if get_option('gtk_doc')
expand_content_md_files = [
expand_content_md_files = [
'overview.md',
'build-howto.md',
'initialization.md',
'Event-naming-spec-0.0.0.md',
'Feedback-theme-spec-0.0.0.md',
]
]
toml_data = configuration_data()
toml_data.set('VERSION', meson.project_version())
toml_data = configuration_data()
toml_data.set('VERSION', meson.project_version())
libfeedback_toml = configure_file(
libfeedback_toml = configure_file(
input: 'libfeedback.toml.in',
output: 'libfeedback.toml',
configuration: toml_data
)
configuration: toml_data,
)
dependency('gi-docgen', version: '>= 2021.1',
dependency(
'gi-docgen',
version: '>= 2021.1',
fallback: ['gi-docgen', 'dummy_dep'],
native: true,
required: get_option('gtk_doc'))
required: get_option('gtk_doc'),
)
gidocgen = find_program('gi-docgen')
gidocgen = find_program('gi-docgen')
docs_dir = datadir / 'doc'
docs_dir = datadir / 'doc'
custom_target('libfeedback-doc',
input: [ libfeedback_toml, libfeedback_gir[0] ],
custom_target(
'libfeedback-doc',
input: [libfeedback_toml, libfeedback_gir[0]],
output: 'libfeedback-0',
command: [
gidocgen,
@@ -40,39 +44,29 @@ custom_target('libfeedback-doc',
'--content-dir=@0@'.format(meson.current_source_dir()),
'@INPUT1@',
],
depend_files: [ expand_content_md_files ],
depend_files: [expand_content_md_files],
build_by_default: true,
install: true,
install_dir: docs_dir,
)
)
endif
if get_option('man')
manpages = [
['fbcli', 1],
['fbd-theme-validate', 1],
['feedbackd', 8],
['feedback-themes', 5],
]
manpages = [['fbcli', 1], ['fbd-theme-validate', 1], ['feedbackd', 8], ['feedback-themes', 5]]
rst2man = find_program('rst2man', 'rst2man.py', required: false)
rst2man_flags = [
'--syntax-highlight=none',
]
rst2man_flags = ['--syntax-highlight=none']
foreach manpage: manpages
foreach manpage : manpages
man_name = manpage[0]
man_section = manpage[1]
custom_target('man-@0@'.format(man_name),
custom_target(
'man-@0@'.format(man_name),
input: '@0@.rst'.format(man_name),
output: '@0@.@1@'.format(man_name, man_section),
command: [
rst2man,
rst2man_flags,
'@INPUT@',
],
command: [rst2man, rst2man_flags, '@INPUT@'],
capture: true,
install: true,
install_dir: get_option('mandir') / 'man@0@'.format(man_section),
+57 -58
View File
@@ -6,25 +6,26 @@ libfeedback_link_args = []
libfeedback_symbols_file = 'libfeedback.syms'
# Check linker flags
ld_version_script_arg = '-Wl,--version-script,@0@'.format(meson.current_source_dir() / libfeedback_symbols_file)
if cc.links('int main() { return 0; }', args : ld_version_script_arg, name : 'ld_supports_version_script')
ld_version_script_arg = '-Wl,--version-script,@0@'.format(
meson.current_source_dir() / libfeedback_symbols_file,
)
if cc.links(
'int main() { return 0; }',
args: ld_version_script_arg,
name: 'ld_supports_version_script',
)
libfeedback_link_args += [ld_version_script_arg]
endif
lfb_enum_headers = files([
'lfb-event.h',
])
lfb_enum_sources = gnome.mkenums_simple('lfb-enums',
sources : lfb_enum_headers,
install_header : true,
lfb_enum_headers = files('lfb-event.h')
lfb_enum_sources = gnome.mkenums_simple(
'lfb-enums',
sources: lfb_enum_headers,
install_header: true,
install_dir: libfeedback_header_dir,
)
libfeedback_headers = [
'libfeedback.h',
'lfb-event.h',
'lfb-main.h',
]
libfeedback_headers = ['libfeedback.h', 'lfb-event.h', 'lfb-main.h']
libfeedback_sources = [
generated_dbus_sources,
@@ -34,11 +35,7 @@ libfeedback_sources = [
'lfb-main.c',
]
libfeedback_deps = [
gio,
gio_unix,
glib,
]
libfeedback_deps = [gio, gio_unix, glib]
libfeedback_c_args = [
'-DG_LOG_DOMAIN="libfeedback"',
@@ -50,36 +47,36 @@ libtype = 'shared_library'
libfeedback = build_target(
'feedback-' + apiversion,
libfeedback_sources,
soversion : 0,
c_args : libfeedback_c_args,
dependencies : libfeedback_deps,
link_args : libfeedback_link_args,
install : true,
install_dir : libfeedback_libdir,
target_type : libtype,
soversion: 0,
c_args: libfeedback_c_args,
dependencies: libfeedback_deps,
link_args: libfeedback_link_args,
install: true,
install_dir: libfeedback_libdir,
target_type: libtype,
)
libfeedback_inc = include_directories('.')
libfeedback_dep = declare_dependency(
sources : [generated_dbus_sources, lfb_enum_sources[1]],
link_with : libfeedback,
sources: [generated_dbus_sources, lfb_enum_sources[1]],
link_with: libfeedback,
dependencies: libfeedback_deps,
include_directories : libfeedback_inc,
include_directories: libfeedback_inc,
)
install_headers(libfeedback_headers, subdir : libname)
install_headers(libfeedback_headers, subdir: libname)
pkgconfig = import('pkgconfig')
pkgconfig.generate(
libraries : [libfeedback],
subdirs : libname,
version : meson.project_version(),
name : 'Feedback',
filebase : 'libfeedback-@0@'.format(apiversion),
description : 'GNOME feedback library',
requires : 'gio-2.0',
install_dir : join_paths(libfeedback_libdir, 'pkgconfig'),
)
libraries: [libfeedback],
subdirs: libname,
version: meson.project_version(),
name: 'Feedback',
filebase: 'libfeedback-@0@'.format(apiversion),
description: 'GNOME feedback library',
requires: 'gio-2.0',
install_dir: join_paths(libfeedback_libdir, 'pkgconfig'),
)
if introspection
libfeedback_gir_extra_args = [
@@ -91,29 +88,31 @@ if introspection
'--warn-all',
]
libfeedback_gir = gnome.generate_gir(libfeedback,
sources : libfeedback_sources,
nsversion : apiversion,
namespace : 'Lfb',
export_packages : 'libfeedback-@0@'.format(apiversion),
symbol_prefix : 'lfb',
identifier_prefix : 'Lfb',
link_with : libfeedback,
includes : ['Gio-2.0'],
install : true,
install_dir_gir : girdir,
install_dir_typelib : typelibdir,
extra_args : libfeedback_gir_extra_args,
fatal_warnings : true,
libfeedback_gir = gnome.generate_gir(
libfeedback,
sources: libfeedback_sources,
nsversion: apiversion,
namespace: 'Lfb',
export_packages: 'libfeedback-@0@'.format(apiversion),
symbol_prefix: 'lfb',
identifier_prefix: 'Lfb',
link_with: libfeedback,
includes: ['Gio-2.0'],
install: true,
install_dir_gir: girdir,
install_dir_typelib: typelibdir,
extra_args: libfeedback_gir_extra_args,
fatal_warnings: true,
)
if get_option('vapi')
libfeedback_vapi = gnome.generate_vapi('libfeedback-' + apiversion,
sources : libfeedback_gir[0],
packages : ['gio-2.0'],
install : true,
install_dir : vapidir,
metadata_dirs : [meson.current_source_dir()],
libfeedback_vapi = gnome.generate_vapi(
'libfeedback-' + apiversion,
sources: libfeedback_gir[0],
packages: ['gio-2.0'],
install: true,
install_dir: vapidir,
metadata_dirs: [meson.current_source_dir()],
)
endif
endif
+15 -29
View File
@@ -1,12 +1,10 @@
project('feedbackd', 'c',
version : '0.7.0',
license : 'LGPLv3+',
meson_version : '>= 1.0.0',
default_options : [
'warning_level=1',
'buildtype=debugoptimized',
'c_std=gnu11',
],
project(
'feedbackd',
'c',
version: '0.7.0',
license: 'LGPLv3+',
meson_version: '>= 1.0.0',
default_options: ['warning_level=1', 'buildtype=debugoptimized', 'c_std=gnu11'],
)
gio = dependency('gio-2.0', version: '>=2.50.0')
@@ -15,15 +13,12 @@ glib = dependency('glib-2.0', version: '>=2.50.0')
udev = dependency('udev', required: false)
if get_option('daemon')
gobject = dependency('gobject-2.0', version: '>=2.50.0')
gmobile = dependency('gmobile',
gmobile = dependency(
'gmobile',
version: '>= 0.1.0',
fallback: ['gmobile', 'gmobile_dep'],
default_options: [
'examples=false',
'introspection=false',
'gtk_doc=false',
'tests=false',
])
default_options: ['examples=false', 'introspection=false', 'gtk_doc=false', 'tests=false'],
)
gsound = dependency('gsound')
gudev = dependency('gudev-1.0', version: '>=232')
json_glib = dependency('json-glib-1.0')
@@ -51,10 +46,7 @@ endif
run_data = configuration_data()
run_data.set('ABS_BUILDDIR', meson.current_build_dir())
run_data.set('ABS_SRCDIR', meson.current_source_dir())
configure_file(
input: 'run.in',
output: 'run',
configuration: run_data)
configure_file(input: 'run.in', output: 'run', configuration: run_data)
gnome = import('gnome')
@@ -103,10 +95,7 @@ global_c_args = [
'-DFBD_VERSION="@0@"'.format(meson.project_version()),
]
add_project_arguments(
global_c_args + cc.get_supported_arguments(test_c_args),
language: 'c'
)
add_project_arguments(global_c_args + cc.get_supported_arguments(test_c_args), language: 'c')
introspection_feature = get_option('introspection')
introspection = introspection_feature.enabled() or introspection_feature.auto()
@@ -116,10 +105,7 @@ libname = 'libfeedback-' + apiversion
json_glib_validate = find_program('json-glib-validate', required: false)
meson.add_install_script(
join_paths('build-aux', 'post_install.py'),
datadir
)
meson.add_install_script(join_paths('build-aux', 'post_install.py'), datadir)
subdir('data')
subdir('libfeedback')
@@ -141,6 +127,6 @@ summary = [
' Vapi: @0@'.format(get_option('vapi')),
' Tests: @0@'.format(get_option('tests')),
'---------------',
''
'',
]
message('\n'.join(summary))
+40 -58
View File
@@ -1,15 +1,10 @@
# Feedback daemon
if get_option('daemon')
fbd_enum_headers = files([
'fbd-event.h',
'fbd-feedback-led.h',
'fbd-feedback-vibra.h',
])
fbd_enum_sources = gnome.mkenums_simple('fbd-enums',
sources : fbd_enum_headers)
fbd_enum_headers = files('fbd-event.h', 'fbd-feedback-led.h', 'fbd-feedback-vibra.h')
fbd_enum_sources = gnome.mkenums_simple('fbd-enums', sources: fbd_enum_headers)
sources = [
sources = [
generated_dbus_sources,
fbd_enum_sources,
'fbd-error.c',
@@ -36,75 +31,62 @@ sources = [
'fbd-haptic-manager.c',
'fbd-theme-expander.c',
'fbd-udev.c',
]
]
fbd_deps = [
gio,
gio_unix,
glib,
gmobile,
gobject,
gsound,
gudev,
json_glib,
]
fbd_deps = [gio, gio_unix, glib, gmobile, gobject, gsound, gudev, json_glib]
fbd_inc = [
include_directories('.'),
libfeedback_inc,
dbus_inc,
]
fbd_inc = [include_directories('.'), libfeedback_inc, dbus_inc]
fbd_lib = static_library(
fbd_lib = static_library(
'fbd',
sources,
include_directories : fbd_inc,
dependencies : fbd_deps,
include_directories: fbd_inc,
dependencies: fbd_deps,
c_args: '-DGMOBILE_USE_UNSTABLE_API',
install : false,
)
install: false,
)
fbd_dep = declare_dependency(
fbd_dep = declare_dependency(
sources: [generated_dbus_sources, fbd_enum_sources],
include_directories : fbd_inc,
link_with : fbd_lib,
dependencies : fbd_deps,
)
include_directories: fbd_inc,
link_with: fbd_lib,
dependencies: fbd_deps,
)
executable(
executable(
'feedbackd',
sources : ['fbd.c', generated_dbus_sources[1]],
include_directories : fbd_inc,
dependencies : fbd_dep,
install : true,
sources: ['fbd.c', generated_dbus_sources[1]],
include_directories: fbd_inc,
dependencies: fbd_dep,
install: true,
install_dir: libexecdir,
)
)
executable(
executable(
'fbd-ledctrl',
sources : ['fbd-ledctrl.c'],
include_directories : fbd_inc,
dependencies : [glib],
install : true,
sources: ['fbd-ledctrl.c'],
include_directories: fbd_inc,
dependencies: [glib],
install: true,
install_dir: libexecdir,
)
)
executable(
executable(
'fbd-alert-slider',
sources : ['fbd-alert-slider.c'],
include_directories : fbd_inc,
dependencies : [glib, gio, gio_unix, gudev, libfeedback_dep],
install : true,
sources: ['fbd-alert-slider.c'],
include_directories: fbd_inc,
dependencies: [glib, gio, gio_unix, gudev, libfeedback_dep],
install: true,
install_dir: libexecdir,
)
)
executable(
executable(
'fbd-theme-validate',
sources : ['fbd-theme-validate.c'],
include_directories : fbd_inc,
dependencies : fbd_dep,
install : true,
sources: ['fbd-theme-validate.c'],
include_directories: fbd_inc,
dependencies: fbd_dep,
install: true,
install_dir: bindir,
)
)
endif
+52 -66
View File
@@ -1,104 +1,90 @@
if get_option('tests')
umockdev_dep = dependency('umockdev-1.0')
umockdev_dep = dependency('umockdev-1.0')
add_test_setup ('umockdev',
exe_wrapper: 'umockdev-wrapper',
is_default: true
)
add_test_setup('umockdev', exe_wrapper: 'umockdev-wrapper', is_default: true)
test_env = environment()
test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
test_env.set('G_DEBUG', 'gc-friendly,fatal-warnings')
test_env.set('GSETTINGS_BACKEND', 'memory')
test_env.set('GSETTINGS_SCHEMA_DIR', '@0@/data'.format(meson.project_build_root()))
test_env.set('PYTHONDONTWRITEBYTECODE', 'yes')
test_env.set('MALLOC_CHECK_', '2')
test_env.set('XDG_CONFIG_HOME', meson.current_source_dir() / 'data' / 'user-config')
test_env.set('XDG_CONFIG_DIRS', meson.current_source_dir())
test_env = environment()
test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
test_env.set('G_DEBUG', 'gc-friendly,fatal-warnings')
test_env.set('GSETTINGS_BACKEND', 'memory')
test_env.set('GSETTINGS_SCHEMA_DIR', '@0@/data'.format(meson.project_build_root()))
test_env.set('PYTHONDONTWRITEBYTECODE', 'yes')
test_env.set('MALLOC_CHECK_', '2')
test_env.set('XDG_CONFIG_HOME', meson.current_source_dir() / 'data' / 'user-config')
test_env.set('XDG_CONFIG_DIRS', meson.current_source_dir())
# Shared library Unit tests
# Shared library Unit tests
test_lfb_cflags = [
test_lfb_cflags = [
'-DTEST_APP_ID="org.sigxcpu.feedbackd_test"',
'-DLIBFEEDBACK_USE_UNSTABLE_API',
'-DTEST_DATA_DIR="@0@"'.format(join_paths(meson.current_source_dir(), 'data')),
]
]
test_lfb_link_args = [
'-fPIC',
]
test_lfb_link_args = ['-fPIC']
test_lfb_deps = [
libfeedback_dep,
glib,
gio_unix,
]
test_lfb_deps = [libfeedback_dep, glib, gio_unix]
lfb_tests = [
'lfb-event',
]
lfb_tests = ['lfb-event']
if get_option ('daemon')
if get_option('daemon')
# The integration test needs the daemon
lfb_tests += 'lfb-integration'
subdir('services')
endif
endif
foreach test : lfb_tests
t = executable('test-@0@'.format(test),
foreach test : lfb_tests
t = executable(
'test-@0@'.format(test),
['test-@0@.c'.format(test)],
c_args : test_lfb_cflags,
pie : true,
link_args : test_lfb_link_args,
dependencies : test_lfb_deps)
c_args: test_lfb_cflags,
pie: true,
link_args: test_lfb_link_args,
dependencies: test_lfb_deps,
)
test(test, t, env: test_env)
endforeach
endforeach
# Daemon Unit tests
if get_option('daemon')
# Daemon Unit tests
if get_option('daemon')
test_env_fbd = test_env
test_env_fbd.set('XDG_DATA_DIRS', meson.current_source_dir() / 'data' / 'xdg-data')
test_env_fbd = test_env
test_env_fbd.set('XDG_DATA_DIRS', meson.current_source_dir() / 'data' / 'xdg-data')
test_fbd_cflags = [
test_fbd_cflags = [
'-DTEST_APP_ID="org.sigxcpu.feedbackd_test"',
'-DTEST_DATA_DIR="@0@"'.format(join_paths(meson.current_source_dir(), 'data')),
]
test_fbd_link_args = [
'-fPIC',
]
test_fbd_link_args = ['-fPIC']
test_fbd_deps = [
fbd_dep,
umockdev_dep,
]
test_fbd_deps = [fbd_dep, umockdev_dep]
# HW independent tests
fbd_tests = [
# HW independent tests
fbd_tests = [
'fbd-feedback-led',
'fbd-feedback-profile',
'fbd-feedback-theme',
'fbd-event',
'fbd-theme-expander',
'fbd-dev-led',
]
]
foreach test : fbd_tests
t = executable('test-@0@'.format(test),
['test-@0@.c'.format(test),
'testlib.c',
generated_dbus_sources[1]],
c_args : test_fbd_cflags,
pie : true,
link_args : test_fbd_link_args,
include_directories : fbd_inc,
dependencies : test_fbd_deps)
test(test, t, env : test_env_fbd)
endforeach
foreach test : fbd_tests
t = executable(
'test-@0@'.format(test),
['test-@0@.c'.format(test), 'testlib.c', generated_dbus_sources[1]],
c_args: test_fbd_cflags,
pie: true,
link_args: test_fbd_link_args,
include_directories: fbd_inc,
dependencies: test_fbd_deps,
)
test(test, t, env: test_env_fbd)
endforeach
endif # daemon
endif # daemon
endif
+1 -5
View File
@@ -2,8 +2,4 @@ service_file = 'org.sigxcpu.Feedback.service'
service_data = configuration_data()
service_data.set('ABS_BUILDDIR', meson.project_build_root())
configure_file(
input : service_file + '.in',
output : service_file,
configuration : service_data
)
configure_file(input: service_file + '.in', output: service_file, configuration: service_data)