meson: add option introspection Add an option 'introspection' for meson which could control whether build GIR files or not. Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/53] Signed-off-by: Kai Kang --- libsecret/meson.build | 86 ++++++++++++++++++++++--------------------- meson.build | 1 + meson_options.txt | 1 + 3 files changed, 46 insertions(+), 42 deletions(-) diff --git a/libsecret/meson.build b/libsecret/meson.build index 759b5ef..2ee8850 100644 --- a/libsecret/meson.build +++ b/libsecret/meson.build @@ -104,50 +104,52 @@ libsecret_dep = declare_dependency( ) # GObject Introspection -libsecret_gir_sources = [ - 'secret-attributes.c', - 'secret-attributes.h', - 'secret-backend.c', - 'secret-backend.h', - 'secret-collection.c', - 'secret-collection.h', - 'secret-item.c', - 'secret-item.h', - 'secret-methods.c', - 'secret-password.c', - 'secret-password.h', - 'secret-paths.c', - 'secret-paths.h', - 'secret-prompt.c', - 'secret-prompt.h', - 'secret-retrievable.c', - 'secret-retrievable.h', - 'secret-schema.c', - 'secret-schema.h', - 'secret-schemas.c', - 'secret-schemas.h', - 'secret-service.c', - 'secret-service.h', - 'secret-types.h', - 'secret-value.c', - 'secret-value.h', -] -libsecret_gir_sources += version_h -libsecret_gir_sources += _enums_generated - -libsecret_gir = gnome.generate_gir(libsecret, - sources: libsecret_gir_sources, - namespace: 'Secret', - nsversion: api_version_major, - export_packages: 'libsecret-@0@'.format(api_version_major), - includes: [ 'GObject-2.0', 'Gio-2.0' ], - header: 'libsecret/secret.h', - extra_args: [ '-D SECRET_COMPILATION'], - install: true, -) +if with_gir + libsecret_gir_sources = [ + 'secret-attributes.c', + 'secret-attributes.h', + 'secret-backend.c', + 'secret-backend.h', + 'secret-collection.c', + 'secret-collection.h', + 'secret-item.c', + 'secret-item.h', + 'secret-methods.c', + 'secret-password.c', + 'secret-password.h', + 'secret-paths.c', + 'secret-paths.h', + 'secret-prompt.c', + 'secret-prompt.h', + 'secret-retrievable.c', + 'secret-retrievable.h', + 'secret-schema.c', + 'secret-schema.h', + 'secret-schemas.c', + 'secret-schemas.h', + 'secret-service.c', + 'secret-service.h', + 'secret-types.h', + 'secret-value.c', + 'secret-value.h', + ] + libsecret_gir_sources += version_h + libsecret_gir_sources += _enums_generated + + libsecret_gir = gnome.generate_gir(libsecret, + sources: libsecret_gir_sources, + namespace: 'Secret', + nsversion: api_version_major, + export_packages: 'libsecret-@0@'.format(api_version_major), + includes: [ 'GObject-2.0', 'Gio-2.0' ], + header: 'libsecret/secret.h', + extra_args: [ '-D SECRET_COMPILATION'], + install: true, + ) +endif # Vapi -if with_vapi +if with_vapi and with_gir libsecret_vapi = gnome.generate_vapi('libsecret-@0@'.format(api_version_major), sources: libsecret_gir[0], metadata_dirs: meson.source_root() / 'libsecret', diff --git a/meson.build b/meson.build index a26d046..d22e008 100644 --- a/meson.build +++ b/meson.build @@ -22,6 +22,7 @@ with_gcrypt = get_option('gcrypt') enable_debug = get_option('debugging') with_vapi = get_option('vapi') with_gtkdoc = get_option('gtk_doc') +with_gir = get_option('introspection') # Some variables config_h_dir = include_directories('.') diff --git a/meson_options.txt b/meson_options.txt index c1fda5d..445aeb0 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -3,3 +3,4 @@ option('gcrypt', type: 'boolean', value: true, description: 'With gcrypt and tra option('debugging', type: 'boolean', value: false, description: 'Turn debugging on/off') option('vapi', type: 'boolean', value: true, description: 'Create VAPI file.') option('gtk_doc', type: 'boolean', value: true, description: 'Build reference documentation using gtk-doc') +option('introspection', type: 'boolean', value: true, description: 'Create GIR file.') -- 2.17.1