[frogr/meson: 6/16] meson: Hanlde data files (desktop file, appstream data, icons...)



commit 4e9b41a37a349f06cdfdb0aa5eb0a99e371900a2
Author: Mario Sanchez Prada <msanchez gnome org>
Date:   Tue May 23 18:32:49 2017 +0100

    meson: Hanlde data files (desktop file, appstream data, icons...)

 .gitignore                                         |    1 -
 data/meson.build                                   |   69 ++++++++++++++++++++
 ...gr.desktop.in.in => org.gnome.frogr.desktop.in} |    0
 meson.build                                        |    2 +
 4 files changed, 71 insertions(+), 1 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 15db01e..bd3a7e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,5 @@
 data/*xml
 data/*desktop
-data/*desktop.in
 
 help/??/*page
 help/??/*mo
diff --git a/data/meson.build b/data/meson.build
new file mode 100644
index 0000000..c271b3f
--- /dev/null
+++ b/data/meson.build
@@ -0,0 +1,69 @@
+# Icons
+
+icondir = join_paths (datadir, 'icons')
+install_subdir ('icons/hicolor',
+                install_dir: icondir)
+
+
+# Images
+
+imagesdir = join_paths (datadir, project_name, 'images')
+install_data(join_paths('images', 'mpictures.png'),
+             install_dir : imagesdir)
+
+
+# UI Files
+
+gtkbuilderdir = join_paths (datadir, project_name, 'gtkbuilder')
+gtkbuilder_files = [
+    'gtkbuilder/frogr-main-view.ui',
+    'gtkbuilder/frogr-app-menu.ui',
+    'gtkbuilder/frogr-context-menu.ui',
+    'gtkbuilder/frogr-menu-button.ui',
+    'gtkbuilder/frogr-menu-bar.ui'
+]
+
+# We can't use install_subdir() for this because it would delete
+# the 'DATADIR/frogr' before copying, which is not what we want.
+foreach ui_file : gtkbuilder_files
+    install_data(ui_file,
+                 install_dir : gtkbuilderdir)
+endforeach
+
+
+# Man pages
+
+mandir = join_paths (datadir, project_name, 'man')
+install_man(join_paths('manpages', 'frogr.1'))
+
+
+# Desktop file
+
+desktopdir = join_paths (datadir, 'applications')
+
+po_dir = join_paths (meson.source_root (), 'po')
+
+data_conf = configuration_data()
+data_conf.set ('BINDIR', join_paths (prefix, bindir))
+generated_desktop = configure_file(input: 'org.gnome.frogr.desktop.in',
+                                   output: 'org.gnome.frogr.desktop.in',
+                                   configuration: data_conf)
+
+i18n.merge_file ('desktop',
+                 input: generated_desktop,
+                 output: 'org.gnome.frogr.desktop',
+                 install: true,
+                 install_dir: desktopdir,
+                 po_dir: po_dir,
+                 type: 'desktop')
+
+appdatadir = join_paths (datadir, 'appdata')
+
+i18n.merge_file ('desktop',
+                 input: 'org.gnome.frogr.appdata.xml.in',
+                 output: 'org.gnome.frogr.appdata.xml',
+                 install: true,
+                 install_dir: appdatadir,
+                 po_dir: po_dir,
+                 type: 'xml')
+
diff --git a/data/org.gnome.frogr.desktop.in.in b/data/org.gnome.frogr.desktop.in
similarity index 100%
rename from data/org.gnome.frogr.desktop.in.in
rename to data/org.gnome.frogr.desktop.in
diff --git a/meson.build b/meson.build
index ca4cab7..83d8eff 100644
--- a/meson.build
+++ b/meson.build
@@ -6,6 +6,7 @@ project_name = meson.project_name()
 project_version = meson.project_version()
 
 prefix = get_option ('prefix')
+bindir = get_option ('bindir')
 datadir = get_option ('datadir')
 localedir = get_option ('localedir')
 
@@ -84,4 +85,5 @@ configure_file(output: 'config.h',
 # Build frogr
 frogr_top_dir = include_directories ('.')
 subdir ('src')
+subdir ('data')
 subdir ('po')


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