summaryrefslogtreecommitdiff
path: root/libnautilus-extension
diff options
context:
space:
mode:
authorErnestas Kulik <ernestask@src.gnome.org>2016-09-28 09:16:11 +0300
committerErnestas Kulik <ernestask@src.gnome.org>2017-02-24 00:24:27 +0200
commited5652c89ac0654df2e82b54b00b27d51c825465 (patch)
treefa5f60a817818116e871c12a69ebcf73bbf2721f /libnautilus-extension
parent728300331dc5caa6142704e0e4cd70004bf0037a (diff)
downloadnautilus-ed5652c89ac0654df2e82b54b00b27d51c825465.tar.gz
general: add support for Meson
Since it’s 2017 already, Nautilus should use a build system that doesn’t take longer to set up the build than it takes to actually build. An observed build time using Ninja of roughly one-fifth of what it took Autotools is more than reason enough to add support for Meson. Along with that, this commit adds a convenience script to generate a tarball for releases, since we use libgd as a submodule and Meson does not handle source distributions. https://bugzilla.gnome.org/show_bug.cgi?id=778167
Diffstat (limited to 'libnautilus-extension')
-rw-r--r--libnautilus-extension/meson.build67
1 files changed, 67 insertions, 0 deletions
diff --git a/libnautilus-extension/meson.build b/libnautilus-extension/meson.build
new file mode 100644
index 000000000..6da5a102f
--- /dev/null
+++ b/libnautilus-extension/meson.build
@@ -0,0 +1,67 @@
+nautilus_extension_version = '1.4.0'
+
+libnautilus_extension_headers = [
+ 'nautilus-column-provider.h',
+ 'nautilus-column.h',
+ 'nautilus-extension-types.h',
+ 'nautilus-file-info.h',
+ 'nautilus-info-provider.h',
+ 'nautilus-location-widget-provider.h',
+ 'nautilus-menu-item.h',
+ 'nautilus-menu-provider.h',
+ 'nautilus-property-page-provider.h',
+ 'nautilus-property-page.h',
+ 'nautilus-menu.h'
+]
+
+install_headers (libnautilus_extension_headers,
+ subdir: join_paths ('nautilus', 'libnautilus-extension'))
+
+libnautilus_extension_sources = [
+ 'nautilus-column-provider.c',
+ 'nautilus-column.c',
+ 'nautilus-extension-types.c',
+ 'nautilus-extension-private.h',
+ 'nautilus-file-info.c',
+ 'nautilus-info-provider.c',
+ 'nautilus-location-widget-provider.c',
+ 'nautilus-menu-item.c',
+ 'nautilus-menu-provider.c',
+ 'nautilus-property-page-provider.c',
+ 'nautilus-property-page.c',
+ 'nautilus-menu.c'
+]
+
+libnautilus_extension_deps = [glib, gtk]
+
+libnautilus_extension = shared_library ('nautilus-extension',
+ libnautilus_extension_sources,
+ dependencies: libnautilus_extension_deps,
+ include_directories: nautilus_include_dirs,
+ version: nautilus_extension_version,
+ install: true)
+
+gnome.generate_gir (libnautilus_extension,
+ sources: libnautilus_extension_headers + libnautilus_extension_sources,
+ nsversion: '3.0',
+ namespace: 'Nautilus',
+ includes: ['Gtk-3.0', 'Gio-2.0', 'GLib-2.0'],
+ install: true)
+
+nautilus_extension = declare_dependency (link_with: libnautilus_extension,
+ dependencies: libnautilus_extension_deps,
+ include_directories: nautilus_include_dirs)
+
+pkgconfig_data = configuration_data ()
+
+pkgconfig_data.set ('prefix', prefix)
+pkgconfig_data.set ('exec_prefix', '${prefix}')
+pkgconfig_data.set ('libdir', join_paths ('${exec_prefix}', libdir))
+pkgconfig_data.set ('includedir', join_paths ('${prefix}', includedir))
+pkgconfig_data.set ('extensiondir', join_paths ('${exec_prefix}', extensiondir))
+pkgconfig_data.set ('VERSION', nautilus_extension_version)
+
+configure_file (input: 'libnautilus-extension.pc.in',
+ output: 'libnautilus-extension.pc',
+ configuration: pkgconfig_data,
+ install_dir: join_paths (libdir, 'pkgconfig'))