diff --git a/libgnome-desktop/meson.build b/libgnome-desktop/meson.build
index c365b44..33af6f4 100644
--- a/libgnome-desktop/meson.build
+++ b/libgnome-desktop/meson.build
@@ -96,17 +96,19 @@ libgnome_desktop_dep = declare_dependency(
   link_with: libgnome_desktop
 )
 
-gnome.generate_gir(libgnome_desktop,
-  sources: introspection_sources + libgnome_desktop_headers,
-  export_packages: 'gnome-desktop-3.0',
-  namespace: 'GnomeDesktop',
-  nsversion: '3.0',
-  includes: ['GObject-2.0', 'Gtk-3.0', 'GDesktopEnums-3.0'],
-  extra_args: '-DGNOME_DESKTOP_USE_UNSTABLE_API',
-  identifier_prefix: 'Gnome',
-  symbol_prefix: 'gnome',
-  install: true
-)
+if get_option('introspection')
+  gnome.generate_gir(libgnome_desktop,
+    sources: introspection_sources + libgnome_desktop_headers,
+    export_packages: 'gnome-desktop-3.0',
+    namespace: 'GnomeDesktop',
+    nsversion: '3.0',
+    includes: ['GObject-2.0', 'Gtk-3.0', 'GDesktopEnums-3.0'],
+    extra_args: '-DGNOME_DESKTOP_USE_UNSTABLE_API',
+    identifier_prefix: 'Gnome',
+    symbol_prefix: 'gnome',
+    install: true
+  )
+endif
 
 desktop_pc = pkg.generate(
   libraries: libgnome_desktop,
diff --git a/meson_options.txt b/meson_options.txt
index e3402a1..1dbaf5d 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -28,3 +28,7 @@ option('gtk_doc',
 option('installed_tests',
   type: 'boolean', value: false, description: 'Enable installed tests'
 )
+
+option('introspection',
+  type: 'boolean', value: false, description: 'Build GIR data'
+)
