[swell-foop] Added meson build (bgo#793016)
- From: Robert Roth <robertroth src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [swell-foop] Added meson build (bgo#793016)
- Date: Tue, 30 Jan 2018 18:10:36 +0000 (UTC)
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]