[gnome-font-viewer] build: Add meson support
- From: Jeremy Bicha <jbicha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-font-viewer] build: Add meson support
- Date: Sat, 10 Jun 2017 18:12:23 +0000 (UTC)
commit 798a94259cc1a45f5f87d8307a7fb6f6616cbe52
Author: Jeremy Bicha <jbicha ubuntu com>
Date: Fri Jun 9 17:27:12 2017 -0400
build: Add meson support
https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting
https://bugzilla.gnome.org/show_bug.cgi?id=783613
meson-postinstall.sh | 10 ++++++++
meson.build | 58 +++++++++++++++++++++++++++++++++++++++++++++++++
po/meson.build | 1 +
src/meson.build | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 128 insertions(+), 0 deletions(-)
---
diff --git a/meson-postinstall.sh b/meson-postinstall.sh
new file mode 100644
index 0000000..a659c80
--- /dev/null
+++ b/meson-postinstall.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# Package managers set this so we don't need to run
+if [ -z "$DESTDIR" ]; then
+ echo Updating desktop database...
+ update-desktop-database -q ${MESON_INSTALL_PREFIX}/share/applications
+
+ echo Updating icon cache...
+ gtk-update-icon-cache -q -t -f ${MESON_INSTALL_PREFIX}/share/icons/hicolor
+fi
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..d305485
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,58 @@
+project('gnome-font-viewer', 'c',
+ version: '3.25.0',
+ license: 'GPLv2+',
+ meson_version: '>= 0.40.1',
+)
+
+cc = meson.get_compiler('c')
+
+gnome = import('gnome')
+i18n = import('i18n')
+
+prefix = get_option('prefix')
+
+bindir = join_paths(prefix, get_option('bindir'))
+datadir = join_paths(prefix, get_option('datadir'))
+libexecdir = join_paths(prefix, get_option('libexecdir'))
+localedir = join_paths(prefix, get_option('localedir'))
+
+pkgdatadir = join_paths(datadir, meson.project_name())
+
+appdatadir = join_paths(datadir, 'metainfo')
+desktopdir = join_paths(datadir, 'applications')
+servicesdir = join_paths(datadir, 'dbus-1', 'services')
+thumbnailerdir = join_paths(datadir, 'thumbnailers')
+
+glib_req_version = '>= 2.35.1'
+gtk_req_version = '>= 3.20.0'
+harfbuzz_req_version = '>= 0.9.9'
+
+glib_dep = dependency('glib-2.0', version: glib_req_version)
+gtk_dep = dependency('gtk+-3.0', version: gtk_req_version)
+harfbuzz_dep = dependency('harfbuzz', version: harfbuzz_req_version)
+fontconfig_dep = dependency('fontconfig')
+freetype2_dep = dependency('freetype2')
+gnomedesktop_dep = dependency('gnome-desktop-3.0')
+mathlib_dep = cc.find_library('m')
+
+config_h = configuration_data()
+config_h.set_quoted('VERSION', meson.project_version())
+config_h.set_quoted('GETTEXT_PACKAGE', meson.project_name())
+config_h.set_quoted('GNOMELOCALEDIR', localedir)
+configure_file(output: 'config.h', configuration: config_h)
+
+root_inc = include_directories('.')
+
+appdata_file = 'org.gnome.font-viewer.appdata.xml'
+i18n.merge_file(appdata_file,
+ input: 'data/' + appdata_file + '.in',
+ output: appdata_file,
+ po_dir: 'po',
+ install: true,
+ install_dir: appdatadir
+)
+
+subdir('src')
+subdir('po')
+
+meson.add_install_script('meson-postinstall.sh')
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 0000000..e28632d
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1 @@
+i18n.gettext('gnome-font-viewer', preset: 'glib')
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000..3084688
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,59 @@
+loader_sources = [
+ 'sushi-font-loader.h',
+ 'sushi-font-loader.c',
+]
+
+thumbnail_sources = [
+ loader_sources,
+ 'font-thumbnailer.c',
+ 'totem-resources.c',
+ 'totem-resources.h',
+]
+
+viewer_sources = [
+ loader_sources,
+ 'font-model.h',
+ 'font-model.c',
+ 'font-utils.h',
+ 'font-utils.c',
+ 'sushi-font-widget.h',
+ 'sushi-font-widget.c',
+ 'font-view.c',
+]
+
+resources = gnome.compile_resources('font-view-resources',
+ 'gnome-font-viewer.gresource.xml',
+ source_dir: '.',
+ c_name: 'font_view')
+
+executable('gnome-thumbnail-font', thumbnail_sources,
+ include_directories: [ root_inc, include_directories('.') ],
+ dependencies: [ mathlib_dep, glib_dep, gtk_dep, freetype2_dep],
+ install: true)
+
+executable('gnome-font-viewer', viewer_sources + resources,
+ include_directories: [ root_inc, include_directories('.') ],
+ dependencies: [ mathlib_dep, glib_dep, gtk_dep, harfbuzz_dep, fontconfig_dep, freetype2_dep,
gnomedesktop_dep ],
+ install: true)
+
+desktop_file = 'org.gnome.font-viewer.desktop'
+i18n.merge_file(desktop_file,
+ input: desktop_file + '.in',
+ output: desktop_file,
+ po_dir: '../po',
+ install: true,
+ install_dir: desktopdir,
+ type: 'desktop'
+)
+
+service_conf = configuration_data()
+service_conf.set('bindir', bindir)
+service_file = 'org.gnome.font-viewer.service'
+configure_file(input: service_file + '.in',
+ output: service_file,
+ configuration: service_conf,
+ install: true,
+ install_dir: servicesdir)
+
+install_data('gnome-font-viewer.thumbnailer',
+ install_dir: thumbnailerdir)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]