[gnome-mahjongg] Add Meson build rules



commit decd067e5da1f6665e578194b45a599d12a7dc60
Author: Robert Ancell <robert ancell canonical com>
Date:   Wed Feb 28 14:45:31 2018 +1300

    Add Meson build rules

 data/meson.build              |   36 ++++++++++++++++++++++++++++++++++++
 data/meson_compile_gschema.py |   10 ++++++++++
 help/LINGUAS                  |   21 +++++++++++++++++++++
 help/meson.build              |   36 ++++++++++++++++++++++++++++++++++++
 meson.build                   |   27 +++++++++++++++++++++++++++
 po/meson.build                |    3 +++
 src/meson.build               |   21 +++++++++++++++++++++
 7 files changed, 154 insertions(+), 0 deletions(-)
---
diff --git a/data/meson.build b/data/meson.build
new file mode 100644
index 0000000..da9c561
--- /dev/null
+++ b/data/meson.build
@@ -0,0 +1,36 @@
+foreach size: [ '16x16', '22x22', '24x24', '32x32', '48x48' ]
+    install_data (join_paths ('icons', 'hicolor', size, 'gnome-mahjongg.png'),
+                  install_dir: join_paths (datadir, 'icons', 'hicolor', size, 'apps'))
+endforeach
+install_data (join_paths ('icons', 'hicolor', 'scalable', 'gnome-mahjongg.svg'),
+              install_dir: join_paths (datadir, 'icons', 'hicolor', 'scalable', 'apps'))
+install_data (join_paths ('icons', 'hicolor', 'scalable', 'gnome-mahjongg-symbolic.svg'),
+              install_dir: join_paths (datadir, 'icons', 'hicolor', 'scalable', 'apps'))
+
+install_data ('org.gnome.mahjongg.gschema.xml',
+              install_dir: join_paths (datadir, 'glib-2.0', 'schemas'))
+meson.add_install_script ('meson_compile_gschema.py')
+
+install_data ('mahjongg.map', install_dir: join_paths (pkgdatadir, 'maps'))
+
+install_data ('maya.png', install_dir: join_paths (pkgdatadir, 'themes'))
+install_data ('postmodern.svg', install_dir: join_paths (pkgdatadir, 'themes'))
+install_data ('smooth.png', install_dir: join_paths (pkgdatadir, 'themes'))
+install_data ('edu_kang_xi.png', install_dir: join_paths (pkgdatadir, 'themes'))
+
+i18n.merge_file ('desktop-file',
+                 input: 'gnome-mahjongg.desktop.in',
+                 output: 'gnome-mahjongg.desktop',
+                 install: true,
+                 install_dir: join_paths (datadir, 'applications'),
+                 po_dir: '../po',
+                 type: 'desktop')
+
+i18n.merge_file ('appdata-file',
+                 input: 'gnome-mahjongg.appdata.xml.in',
+                 output: 'gnome-mahjongg.appdata.xml',
+                 install: true,
+                 install_dir: join_paths (datadir, 'metainfo'),
+                 po_dir: '../po')
+
+install_man ('gnome-mahjongg.6')
diff --git a/data/meson_compile_gschema.py b/data/meson_compile_gschema.py
new file mode 100755
index 0000000..d0248f4
--- /dev/null
+++ b/data/meson_compile_gschema.py
@@ -0,0 +1,10 @@
+#!/usr/bin/env python3
+
+import os
+import subprocess
+
+schemadir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'glib-2.0', 'schemas')
+
+if not os.environ.get('DESTDIR'):
+    print('Compiling gsettings schemas...')
+    subprocess.call(['glib-compile-schemas', schemadir])
diff --git a/help/LINGUAS b/help/LINGUAS
new file mode 100644
index 0000000..85d159f
--- /dev/null
+++ b/help/LINGUAS
@@ -0,0 +1,21 @@
+# please keep this list sorted alphabetically
+#
+ca
+cs
+da
+de
+el
+en_GB
+es
+eu
+fr
+hu
+it
+oc
+pl
+ru
+sl
+sr
+sr@latin
+sv
+zh_CN
diff --git a/help/meson.build b/help/meson.build
new file mode 100644
index 0000000..f9b3fbb
--- /dev/null
+++ b/help/meson.build
@@ -0,0 +1,36 @@
+gnome.yelp ('gnome-mahjongg',
+            sources: [ 'bug-filing.page',
+                       'bonustiles.page',
+                       'develop.page',
+                       'documentation.page',
+                       'gameplay.page',
+                       'hints.page',
+                       'index.page',
+                       'legal.xml',
+                       'license.page',
+                       'map.page',
+                       'moves.page',
+                       'pause.page',
+                       'rules.page',
+                       'scoring.page',
+                       'shortcuts.page',
+                       'strategy.page',
+                       'translate.page' ],
+            media: [ 'figures/hints-video.ogv',
+                     'figures/layout-bridges.png',
+                     'figures/layout-cloud.png',
+                     'figures/layout-conf-cross.png',
+                     'figures/layout-difficult.png',
+                     'figures/layout-easy.png',
+                     'figures/layout-pyramid-walls.png',
+                     'figures/layout-red-dragon.png',
+                     'figures/layout-tic-tac-toe.png',
+                     'figures/layout-overpass.png',
+                     'figures/layout-ziggurat.png',
+                     'figures/logo32.png',
+                     'figures/logo.png',
+                     'figures/mahjongg-video.ogv',
+                     'figures/yellow-symbol.png',
+                     'figures/black-symbol.png',
+                     'figures/moves-left.png' ],
+            symlink_media: true)
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..6d6a67d
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,27 @@
+project ('gnome-mahjongg', ['vala', 'c'],
+         version: '3.22.0',
+         license: 'GPLv3+',
+         default_options: [
+             'warning_level=1',
+             'buildtype=debugoptimized',
+         ],
+         meson_version: '>= 0.37.1')
+
+gnome = import ('gnome')
+i18n = import ('i18n')
+
+# Paths
+mandir = join_paths (get_option ('prefix'), get_option ('mandir'))
+localedir = join_paths (get_option ('prefix'), get_option ('localedir'))
+datadir = join_paths (get_option ('prefix'), get_option ('datadir'))
+pkgdatadir = join_paths (datadir, 'gnome-mahjongg')
+
+# Dependencies
+glib_dep = dependency ('glib-2.0', version: '>= 2.40.0')
+gtk_dep = dependency ('gtk+-3.0', version: '>= 3.13.2')
+librsvg_dep = dependency ('librsvg-2.0', version: '>= 2.32.0')
+
+subdir ('po')
+subdir ('data')
+subdir ('help')
+subdir ('src')
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 0000000..3e482a2
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1,3 @@
+i18n.gettext ('gnome-mahjongg', preset: 'glib')
+
+podir = meson.current_source_dir ()
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000..4282ad7
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,21 @@
+resources = gnome.compile_resources ('resources', 'gnome-mahjongg.gresource.xml',
+                                     source_dir: '.',
+                                     c_name: 'resources')
+
+gnome_mahjongg = executable ('gnome-mahjongg',
+                             [ 'config.vapi',
+                               'game.vala',
+                               'game-view.vala',                               
+                               'gnome-mahjongg.vala',
+                               'history.vala',
+                               'map.vala',                               
+                               'score-dialog.vala'] + resources,
+                             dependencies: [ glib_dep,
+                                             gtk_dep,
+                                             librsvg_dep ],
+                             vala_args: [ '--pkg=posix' ],
+                             c_args: [ '-DVERSION="@0@"'.format (meson.project_version ()),
+                                       '-DGETTEXT_PACKAGE="gnome-mahjongg"',
+                                       '-DLOCALEDIR="@0@"'.format (localedir),
+                                       '-DDATA_DIRECTORY="@0@"'.format (pkgdatadir) ],
+                             install: true )


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]