summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2020-04-24 15:09:27 -0400
committerXavier Claessens <xavier.claessens@collabora.com>2020-04-24 15:09:27 -0400
commitf9d53d9d0020d2a13ca246e19c5ce2e180e5b78a (patch)
tree1a48de68bc02ec27179607fd1a13d9d96cb7bbd8
parentad26ceaa536742060173257e661961bb26216e4e (diff)
downloadgobject-introspection-f9d53d9d0020d2a13ca246e19c5ce2e180e5b78a.tar.gz
Meson: Override gobject-introspection-1.0 dependency
When gobject-introspection-1.0 pkg-config is not found on the system, Meson can fallback to configure g-i as subproject and needs a dependency object to replace the pc file. The dependency file needs to ensure that typelibs are created before compiling any other gir and provide the girdir for files within build directory. It also need to provide glib dependencies required to compile girs.
-rw-r--r--meson.build18
1 files changed, 18 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index 3d22dd55..892f9c3c 100644
--- a/meson.build
+++ b/meson.build
@@ -264,3 +264,21 @@ configure_file(
configuration: pkgconfig_conf,
install_dir: join_paths(get_option('libdir'), 'pkgconfig'),
)
+
+# Dependency object used by Meson's GNOME module. This dependency variable must
+# be named girepo_dep for backward compatibility with projects that where already
+# using that name as fallback: dependency('gobject-introspection-1.0',
+# fallback : ['gobject-introspection', 'girepo_dep'])
+# FIXME: meson.override_dependency() and declare_dependency()'s variable arguments
+# are new in Meson 0.54.0, older versions of Meson won't be able to use g-i as
+# subproject anyway
+if meson.version().version_compare('>=0.54.0')
+ girepo_dep = declare_dependency(
+ sources: typelibs,
+ dependencies: girepo_dep,
+ variables: {
+ 'girdir': meson.current_build_dir() / 'gir',
+ },
+ )
+ meson.override_dependency('gobject-introspection-1.0', girepo_dep)
+endif