[gcr: 1/2] build: Make building the Vala bindings optional
- From: Niels De Graef <nielsdg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gcr: 1/2] build: Make building the Vala bindings optional
- Date: Fri, 29 Apr 2022 08:35:34 +0000 (UTC)
commit 5970a456465b6b6a6a3f4c215e1926c3c3c3f5cb
Author: Marvin Schmidt <marv exherbo org>
Date: Thu Feb 10 12:09:12 2022 +0100
build: Make building the Vala bindings optional
gck/meson.build | 22 ++++++++++++----------
gcr-gtk3/meson.build | 40 +++++++++++++++++++++-------------------
gcr-gtk4/meson.build | 42 ++++++++++++++++++++++--------------------
gcr/meson.build | 26 ++++++++++++++------------
meson.build | 6 ++++++
meson_options.txt | 5 +++++
6 files changed, 80 insertions(+), 61 deletions(-)
---
diff --git a/gck/meson.build b/gck/meson.build
index fa108ef9..ca30f7f7 100644
--- a/gck/meson.build
+++ b/gck/meson.build
@@ -141,16 +141,18 @@ if get_option('introspection')
install: true,
)
- gck_vapi = gnome.generate_vapi(gck_basename,
- sources: gck_gir[0],
- metadata_dirs: meson.current_source_dir(),
- packages: [ 'glib-2.0', 'gio-2.0' ],
- install: true,
- )
-
- install_data('pkcs11.vapi',
- install_dir: get_option('datadir') / 'vala' / 'vapi',
- )
+ if enable_vapi
+ gck_vapi = gnome.generate_vapi(gck_basename,
+ sources: gck_gir[0],
+ metadata_dirs: meson.current_source_dir(),
+ packages: [ 'glib-2.0', 'gio-2.0' ],
+ install: true,
+ )
+
+ install_data('pkcs11.vapi',
+ install_dir: get_option('datadir') / 'vala' / 'vapi',
+ )
+ endif
endif
# pkg-config file
diff --git a/gcr-gtk3/meson.build b/gcr-gtk3/meson.build
index 57375861..3ad4f74c 100644
--- a/gcr-gtk3/meson.build
+++ b/gcr-gtk3/meson.build
@@ -111,25 +111,27 @@ if get_option('introspection')
install: true,
)
- gcr_gtk3_vapi = gnome.generate_vapi(gcr_gtk3_basename,
- sources: gcr_gtk3_gir[0],
- packages: [
- 'glib-2.0',
- 'gio-2.0',
- gck_vapi,
- gcr_vapi,
- 'gtk+-3.0'
- ],
- vapi_dirs: [
- build_root / 'gck',
- build_root / 'gcr',
- ],
- gir_dirs: [
- build_root / 'gck',
- build_root / 'gcr',
- ],
- install: true,
- )
+ if enable_vapi
+ gcr_gtk3_vapi = gnome.generate_vapi(gcr_gtk3_basename,
+ sources: gcr_gtk3_gir[0],
+ packages: [
+ 'glib-2.0',
+ 'gio-2.0',
+ gck_vapi,
+ gcr_vapi,
+ 'gtk+-3.0'
+ ],
+ vapi_dirs: [
+ build_root / 'gck',
+ build_root / 'gcr',
+ ],
+ gir_dirs: [
+ build_root / 'gck',
+ build_root / 'gcr',
+ ],
+ install: true,
+ )
+ endif
endif
# Register new mime types
diff --git a/gcr-gtk4/meson.build b/gcr-gtk4/meson.build
index aa3f669e..a351f2f2 100644
--- a/gcr-gtk4/meson.build
+++ b/gcr-gtk4/meson.build
@@ -106,24 +106,26 @@ if get_option('introspection')
install: true,
)
- gcr_gtk4_vapi = gnome.generate_vapi(gcr_gtk4_basename,
- sources: gcr_gtk4_gir[0],
- packages: [
- 'glib-2.0',
- 'gio-2.0',
- gck_vapi,
- gcr_vapi,
- 'gtk4'
- ],
- metadata_dirs: meson.current_source_dir(),
- vapi_dirs: [
- build_root / 'gck',
- build_root / 'gcr',
- ],
- gir_dirs: [
- build_root / 'gck',
- build_root / 'gcr',
- ],
- install: true,
- )
+ if enable_vapi
+ gcr_gtk4_vapi = gnome.generate_vapi(gcr_gtk4_basename,
+ sources: gcr_gtk4_gir[0],
+ packages: [
+ 'glib-2.0',
+ 'gio-2.0',
+ gck_vapi,
+ gcr_vapi,
+ 'gtk4'
+ ],
+ metadata_dirs: meson.current_source_dir(),
+ vapi_dirs: [
+ build_root / 'gck',
+ build_root / 'gcr',
+ ],
+ gir_dirs: [
+ build_root / 'gck',
+ build_root / 'gcr',
+ ],
+ install: true,
+ )
+ endif
endif
diff --git a/gcr/meson.build b/gcr/meson.build
index 59ec0fae..745dade3 100644
--- a/gcr/meson.build
+++ b/gcr/meson.build
@@ -189,18 +189,20 @@ if get_option('introspection')
install: true,
)
- gcr_vapi = gnome.generate_vapi(gcr_basename,
- sources: gcr_gir[0],
- packages: [ 'glib-2.0', 'gio-2.0', gck_vapi ],
- metadata_dirs: meson.current_source_dir(),
- vapi_dirs: [
- build_root / 'gck',
- ],
- gir_dirs: [
- build_root / 'gck',
- ],
- install: true,
- )
+ if enable_vapi
+ gcr_vapi = gnome.generate_vapi(gcr_basename,
+ sources: gcr_gir[0],
+ packages: [ 'glib-2.0', 'gio-2.0', gck_vapi ],
+ metadata_dirs: meson.current_source_dir(),
+ vapi_dirs: [
+ build_root / 'gck',
+ ],
+ gir_dirs: [
+ build_root / 'gck',
+ ],
+ install: true,
+ )
+ endif
endif
# pkg-config file
diff --git a/meson.build b/meson.build
index dd70d01d..10706600 100644
--- a/meson.build
+++ b/meson.build
@@ -82,6 +82,12 @@ if get_option('gtk4')
gtk4_dep = dependency('gtk4')
endif
+enable_gir = get_option('introspection')
+enable_vapi = get_option('vapi')
+if enable_vapi
+ assert(enable_gir, 'vapi support was requested, but introspection support is mandatory.')
+endif
+
# configuration
conf = configuration_data()
conf.set_quoted('VERSION', meson.project_version())
diff --git a/meson_options.txt b/meson_options.txt
index 6f4bc523..66d1567b 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -3,6 +3,11 @@ option('introspection',
value: true,
description: 'Build GObject Introspection (GIR) files',
)
+option('vapi',
+ type: 'boolean',
+ value: true,
+ description: 'Generate vapi data (requires vapigen and introspection option)',
+)
option('gtk3',
type: 'boolean',
value: true,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]