mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-08 20:03:34 +02:00
build: Add meson build system
Reuse the generated dbus interface .xml files from fprintd to avoid unnecessary copies.
This commit is contained in:
committed by
Bastien Nocera
parent
5c5849dca7
commit
eb6dbb6953
67
utils/meson.build
Normal file
67
utils/meson.build
Normal file
@ -0,0 +1,67 @@
|
||||
dbus_client_glue_sources = []
|
||||
|
||||
foreach interface_name: dbus_interfaces
|
||||
interface = interface_name.to_lower()
|
||||
interface_file = meson.source_root() / 'src' / interface + '.xml'
|
||||
glue_name = interface + '-dbus-glue.h'
|
||||
dbus_client_glue_sources += custom_target(glue_name,
|
||||
input: interface_file,
|
||||
output: glue_name,
|
||||
command: [
|
||||
dbus_binding_tool,
|
||||
'--prefix=fprint_' + interface,
|
||||
'--mode=glib-client',
|
||||
'--output=@OUTPUT@',
|
||||
'@INPUT@',
|
||||
])
|
||||
endforeach
|
||||
|
||||
utils_marshal = custom_target('utils_marshal',
|
||||
depends: fprintd_marshal,
|
||||
input: fprintd_marshal,
|
||||
output: ['marshal.c', 'marshal.h'],
|
||||
command: [bash, '-c',
|
||||
'cp @INPUT0@ @OUTPUT0@;' +
|
||||
'cp @INPUT1@ @OUTPUT1@;' +
|
||||
'sed s/fprintd-//g -i ' + meson.current_build_dir() / 'marshal*.{h,c}']
|
||||
)
|
||||
|
||||
libfprintd_utils_dep = declare_dependency(
|
||||
include_directories: [
|
||||
include_directories('../pam'),
|
||||
],
|
||||
dependencies: [
|
||||
glib_dep,
|
||||
dbus_glib_dep,
|
||||
],
|
||||
sources: [
|
||||
utils_marshal,
|
||||
dbus_client_glue_sources,
|
||||
],
|
||||
link_with: static_library('fprintd_utils',
|
||||
sources: [
|
||||
dbus_client_glue_sources,
|
||||
utils_marshal,
|
||||
],
|
||||
dependencies: [
|
||||
glib_dep,
|
||||
]
|
||||
),
|
||||
)
|
||||
|
||||
utils = [
|
||||
'delete',
|
||||
'enroll',
|
||||
'list',
|
||||
'verify',
|
||||
]
|
||||
|
||||
fprintd_utils = []
|
||||
|
||||
foreach util: utils
|
||||
fprintd_utils += executable('fprintd-' + util,
|
||||
sources: util + '.c',
|
||||
dependencies: libfprintd_utils_dep,
|
||||
install: true,
|
||||
)
|
||||
endforeach
|
||||
Reference in New Issue
Block a user