diff options
Diffstat (limited to 'libmm-glib/meson.build')
-rw-r--r-- | libmm-glib/meson.build | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/libmm-glib/meson.build b/libmm-glib/meson.build new file mode 100644 index 00000000..f3cf0c31 --- /dev/null +++ b/libmm-glib/meson.build @@ -0,0 +1,179 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2021 IƱigo Martinez <inigomartinez@gmail.com> + +libmm_glib_inc = include_directories('.') + +subdir('generated') + +headers = files( + 'libmm-glib.h', + 'mm-3gpp-profile.h', + 'mm-bearer.h', + 'mm-bearer-ip-config.h', + 'mm-bearer-properties.h', + 'mm-bearer-stats.h', + 'mm-call-audio-format.h', + 'mm-call.h', + 'mm-call-properties.h', + 'mm-cdma-manual-activation-properties.h', + 'mm-compat.h', + 'mm-firmware-properties.h', + 'mm-firmware-update-settings.h', + 'mm-helper-types.h', + 'mm-kernel-event-properties.h', + 'mm-location-3gpp.h', + 'mm-location-cdma-bs.h', + 'mm-location-common.h', + 'mm-location-gps-nmea.h', + 'mm-location-gps-raw.h', + 'mm-manager.h', + 'mm-modem-3gpp.h', + 'mm-modem-3gpp-profile-manager.h', + 'mm-modem-3gpp-ussd.h', + 'mm-modem-cdma.h', + 'mm-modem-firmware.h', + 'mm-modem.h', + 'mm-modem-location.h', + 'mm-modem-messaging.h', + 'mm-modem-oma.h', + 'mm-modem-signal.h', + 'mm-modem-simple.h', + 'mm-modem-time.h', + 'mm-modem-voice.h', + 'mm-network-timezone.h', + 'mm-object.h', + 'mm-pco.h', + 'mm-signal.h', + 'mm-sim.h', + 'mm-simple-connect-properties.h', + 'mm-simple-status.h', + 'mm-sim-preferred-network.h', + 'mm-sms.h', + 'mm-sms-properties.h', + 'mm-unlock-retries.h', +) + +install_headers( + headers, + install_dir: mm_glib_pkgincludedir, +) + +sources = files( + 'mm-3gpp-profile.c', + 'mm-bearer.c', + 'mm-bearer-ip-config.c', + 'mm-bearer-properties.c', + 'mm-bearer-stats.c', + 'mm-call-audio-format.c', + 'mm-call.c', + 'mm-call-properties.c', + 'mm-cdma-manual-activation-properties.c', + 'mm-common-helpers.c', + 'mm-compat.c', + 'mm-firmware-properties.c', + 'mm-firmware-update-settings.c', + 'mm-helper-types.c', + 'mm-kernel-event-properties.c', + 'mm-location-3gpp.c', + 'mm-location-cdma-bs.c', + 'mm-location-gps-nmea.c', + 'mm-location-gps-raw.c', + 'mm-manager.c', + 'mm-modem-3gpp.c', + 'mm-modem-3gpp-profile-manager.c', + 'mm-modem-3gpp-ussd.c', + 'mm-modem.c', + 'mm-modem-cdma.c', + 'mm-modem-firmware.c', + 'mm-modem-location.c', + 'mm-modem-messaging.c', + 'mm-modem-oma.c', + 'mm-modem-signal.c', + 'mm-modem-simple.c', + 'mm-modem-time.c', + 'mm-modem-voice.c', + 'mm-network-timezone.c', + 'mm-object.c', + 'mm-pco.c', + 'mm-signal.c', + 'mm-sim.c', + 'mm-simple-connect-properties.c', + 'mm-simple-status.c', + 'mm-sim-preferred-network.c', + 'mm-sms.c', + 'mm-sms-properties.c', + 'mm-unlock-retries.c', +) + +deps = [include_dep] + +libmm_glib = shared_library( + 'mm-glib', + version: mm_glib_version, + sources: sources, + include_directories: top_inc, + dependencies: deps + [libmm_generated_dep], + c_args: '-DLIBMM_GLIB_COMPILATION', + install: true, +) + +libmm_glib_dep = declare_dependency( + sources: gen_headers, + include_directories: [libmm_glib_inc, generated_inc], + dependencies: deps + [glib_deps], + link_with: libmm_glib, +) + +pkg.generate( + libraries: libmm_glib, + version: mm_version, + name: 'mm-glib', + description: 'Library to control and monitor the ModemManager', + subdirs: mm_glib_name, + # FIXME: produced by the inhability of meson to use internal dependencies + requires: ['gio-2.0', 'glib-2.0', 'gobject-2.0', 'ModemManager'], + variables: 'exec_prefix=${prefix}', +) + +if enable_gir + incs = [ + 'Gio-2.0', + 'GLib-2.0', + 'GObject-2.0', + ] + + gir_ns = 'ModemManager' + gir_prefix = 'Mm' + + args = [ + '-DLIBMM_GLIB_COMPILATION', + '--identifier-prefix=' + gir_prefix.to_upper(), + ] + + libmm_glib_gir = gnome.generate_gir( + libmm_glib, + # FIXME: mm-gdbus-call.[ch] are not included + # sources: sources + headers + gen_sources + gen_headers + [mm_names_header, mm_version_header], + sources: sources + headers + gen_gir_sources + [mm_names_header, mm_version_header], + includes: incs, + namespace: gir_ns, + nsversion: mm_gir_version, + identifier_prefix: gir_prefix, + symbol_prefix: gir_prefix.to_lower(), + extra_args: args, + header: 'libmm-glib.h', + export_packages: gir_ns, + install: true, + ) + + if enable_vapi + libmm_glib_vapi = gnome.generate_vapi( + 'libmm-glib', + sources: libmm_glib_gir[0], + packages: 'gio-2.0', + install: true, + ) + endif +endif + +subdir('tests') |