[swell-foop] Added meson build (bgo#793016)



commit f5914afd089d0ee055087b98dc4078761425bd17
Author: Robert Roth <robert roth off gmail com>
Date:   Tue Jan 30 20:10:08 2018 +0200

    Added meson build (bgo#793016)

 Makefile.am           |    8 +++++++
 data/meson.build      |   46 +++++++++++++++++++++++++++++++++++++++++
 help/LINGUAS          |   20 ++++++++++++++++++
 help/meson.build      |   17 +++++++++++++++
 meson.build           |   54 +++++++++++++++++++++++++++++++++++++++++++++++++
 meson_post_install.py |   16 ++++++++++++++
 po/meson.build        |    3 ++
 src/meson.build       |   37 +++++++++++++++++++++++++++++++++
 8 files changed, 201 insertions(+), 0 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 17d24be..e302bce 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -7,4 +7,12 @@ MAINTAINERCLEANFILES = \
 # We currently have no custom macros
 GITIGNOREFILES = m4
 
+EXTRA_DIST = \
+  meson.build \
+  data/meson.build \
+  help/meson.build \
+  po/meson.build \
+  src/meson.build \
+  meson_post_install.py
+
 -include $(top_srcdir)/git.mk
diff --git a/data/meson.build b/data/meson.build
new file mode 100644
index 0000000..ee22da7
--- /dev/null
+++ b/data/meson.build
@@ -0,0 +1,46 @@
+# Icons
+install_subdir('icons',
+  install_dir: join_paths(get_option('datadir')),
+  exclude_files: [ 'Makefile', 'Makefile.in', 'Makefile.am', 'icon-source.svg','.gitignore' ],
+)
+
+# Themes
+install_subdir('themes',
+  install_dir: pkgdatadir,
+  exclude_files: [ '**/Makefile', '**/Makefile.in', '**/Makefile.am', '**/.gitignore' ],
+)
+
+# UI files
+install_data('preferences.ui',
+  install_dir: pkgdatadir,
+)
+
+install_data('swell-foop.css',
+  install_dir: pkgdatadir,
+)
+
+# Desktop file
+i18n.merge_file(
+  input: 'swell-foop.desktop.in',
+  output: 'swell-foop.desktop',
+  type: 'desktop',
+  po_dir: podir,
+  install: true,
+  install_dir: join_paths(get_option('datadir'), 'applications'),
+)
+
+# Appdata
+i18n.merge_file(
+  input: 'swell-foop.appdata.xml.in',
+  output: 'swell-foop.appdata.xml',
+  type: 'xml',
+  po_dir: podir,
+  install: true,
+  install_dir: join_paths(get_option('datadir'), 'metainfo')
+)
+
+# Gschema
+install_data('org.gnome.swell-foop.gschema.xml',
+  install_dir: join_paths(get_option('datadir'), 'glib-2.0', 'schemas'),
+)
+
diff --git a/help/LINGUAS b/help/LINGUAS
new file mode 100644
index 0000000..782dc18
--- /dev/null
+++ b/help/LINGUAS
@@ -0,0 +1,20 @@
+# please keep this list sorted alphabetically
+ca
+cs
+de
+el
+en_GB
+es
+eu
+fr
+hu
+it
+oc
+pl
+pt_BR
+ru
+sl
+sr
+sr@latin
+sv
+zh_CN
diff --git a/help/meson.build b/help/meson.build
new file mode 100644
index 0000000..6b86f8a
--- /dev/null
+++ b/help/meson.build
@@ -0,0 +1,17 @@
+swell_foop_help_pages = [
+  'legal.xml',
+  'index.docbook',
+]
+
+swell_foop_help_media = [
+  'figures/play1.png',
+  'figures/play2.png',
+  'figures/play3.png',
+  'figures/play4.png',
+  'figures/start-up.png',
+]
+
+gnome.yelp(meson.project_name(),
+  sources: swell_foop_help_pages,
+  media: swell_foop_help_media
+)
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..d62696c
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,54 @@
+project('swell-foop', ['c','vala'],
+  version: '3.27.2',
+  meson_version: '>= 0.37',
+  license: 'GPLv3+',
+)
+
+gnome = import('gnome')
+i18n = import('i18n')
+
+localedir = join_paths(get_option('prefix'), get_option('localedir'))
+podir = join_paths(meson.source_root(), 'po')
+datadir = join_paths (get_option ('prefix'), get_option ('datadir'))
+pkgdatadir = join_paths (datadir, 'swell-foop')
+
+# Dependencies
+
+glib_min_version = '2.36'
+
+glib = dependency('glib-2.0', version: '>= ' + glib_min_version)
+gmodule = dependency('gmodule-2.0')
+gobject = dependency('gobject-2.0', version: '>= ' + glib_min_version)
+gtk = dependency('gtk+-3.0', version: '>= 3.12')
+clutter = dependency('clutter-1.0', version: '>= 1.14.0')
+clutter_gtk = dependency('clutter-gtk-1.0', version: '>= 1.5.0')
+
+# Check for compilers
+valac = meson.get_compiler('vala')
+cc = meson.get_compiler('c')
+
+# Libraries
+libmath = cc.find_library('m')
+posix = valac.find_library('posix')
+
+# Configuration
+conf = configuration_data()
+
+conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
+conf.set_quoted('LOCALEDIR', localedir)
+conf.set_quoted('DATADIR', localedir)
+conf.set_quoted('VERSION', meson.project_version())
+
+configure_file(output: 'config.h', configuration: conf)
+config_h_dir = include_directories('.')
+
+# Extra scripts
+meson.add_install_script('meson_post_install.py')
+
+# Subdirs
+subdir('data')
+subdir('src')
+subdir('help')
+subdir('po')
+
+
diff --git a/meson_post_install.py b/meson_post_install.py
new file mode 100644
index 0000000..125789a
--- /dev/null
+++ b/meson_post_install.py
@@ -0,0 +1,16 @@
+#!/usr/bin/env python3
+
+import os
+import subprocess
+
+install_prefix = os.environ['MESON_INSTALL_PREFIX']
+icondir = os.path.join(install_prefix, 'share', 'icons', 'hicolor')
+schemadir = os.path.join(install_prefix, 'share', 'glib-2.0', 'schemas')
+
+if not os.environ.get('DESTDIR'):
+  print('Update icon cache...')
+  subprocess.call(['gtk-update-icon-cache', '-f', '-t', icondir])
+
+  print('Compiling gsettings schemas...')
+  subprocess.call(['glib-compile-schemas', schemadir])
+
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 0000000..f904cde
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1,3 @@
+i18n.gettext(meson.project_name(),
+  preset: 'glib'
+)
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000..b9262f3
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,37 @@
+swell_foop_sources = [
+  'config.vapi',
+  'history.vala',
+  'game.vala',
+  'game-view.vala',
+  'score-dialog.vala',
+  'swell-foop.vala',
+]
+
+swell_foop_deps = [
+  posix,
+  libmath,
+  gmodule,
+  glib,
+  gobject,
+  gtk,
+  clutter,
+  clutter_gtk,
+]
+
+swell_foop_c_flags = [ 
+  '-DVERSION="@0@"'.format (meson.project_version ()),
+  '-DGETTEXT_PACKAGE="@0@"'.format (meson.project_name()),
+  '-DLOCALEDIR="@0@"'.format (localedir),
+  '-DDATADIR="@0@"'.format (pkgdatadir),
+]
+
+swell_foop_vala_flags = [
+  '--target-glib', glib_min_version,
+]
+
+executable('swell-foop', swell_foop_sources,
+  dependencies: swell_foop_deps,
+  vala_args: swell_foop_vala_flags,
+  c_args: swell_foop_c_flags,
+  install: true,
+)


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