[gimp/meson] Add support for windows installer files generation



commit 2ca726dd32b5129144a36a4fe69ec0775cedff59
Author: Félix Piédallu <felix piedallu me>
Date:   Wed Feb 14 18:18:37 2018 +0100

    Add support for windows installer files generation

 build/windows/installer/lang/extractlang.sh |   11 +++++
 build/windows/installer/lang/meson.build    |   56 +++++++++++++++++++++++++++
 build/windows/installer/meson.build         |    1 +
 meson.build                                 |   16 ++++---
 po-windows-installer/meson.build            |    2 +
 5 files changed, 79 insertions(+), 7 deletions(-)
---
diff --git a/build/windows/installer/lang/extractlang.sh b/build/windows/installer/lang/extractlang.sh
new file mode 100644
index 0000000..a1cad74
--- /dev/null
+++ b/build/windows/installer/lang/extractlang.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+prefix=$1
+encoding=$2
+infile=$3
+
+#replace [] with \[\]
+prefix=$(echo "$prefix" | sed 's/[][]/\\\0/g')
+
+#echo to stdout
+sed '/^\w\+'"$prefix"'=/{s/\(.\)'"$prefix"'/\1/;n};/^\w.*=/d' "$infile" \
+| iconv -f UTF-8 -t "$encoding"
diff --git a/build/windows/installer/lang/meson.build b/build/windows/installer/lang/meson.build
new file mode 100644
index 0000000..6a42a06
--- /dev/null
+++ b/build/windows/installer/lang/meson.build
@@ -0,0 +1,56 @@
+isl_input = custom_target('setup.isl',
+  input : 'setup.isl.in',
+  output: 'setup.isl',
+  command: [
+    intltool_merge,
+    '--desktop-style',
+    '--utf8',
+    '--multiple-output',
+    '--cache=' + join_paths('@OUTDIR@', 'intltool-merge-cache'),
+    po_windows_installer_dir,
+    '@INPUT@',
+    '@OUTPUT@',
+  ]
+)
+
+languages = [
+  [ 'ca',   '[ca]',     'WINDOWS-1252', ],
+  [ 'da',   '[da]',     'WINDOWS-1252', ],
+  [ 'de',   '[de]',     'WINDOWS-1252', ],
+  [ 'el',   '[el]',     'WINDOWS-1253', ],
+  [ 'en',   '',         'WINDOWS-1252', ],
+  [ 'eo',   '[eo]',     'ISO-8859-3',   ],
+  [ 'es',   '[es]',     'WINDOWS-1252', ],
+  [ 'eu',   '[eu]',     'WINDOWS-1252', ],
+  [ 'fr',   '[fr]',     'WINDOWS-1252', ],
+  [ 'hu',   '[hu]',     'WINDOWS-1250', ],
+  [ 'id',   '[id]',     'ISO-8859-1',   ],
+  [ 'is',   '[is]',     'WINDOWS-1252', ],
+  [ 'it',   '[it]',     'WINDOWS-1252', ],
+  [ 'nl',   '[nl]',     'WINDOWS-1252', ],
+  [ 'pl',   '[pl]',     'WINDOWS-1250', ],
+  [ 'pt_BR','[pt_BR]',  'WINDOWS-1252', ],
+  [ 'ru',   '[ru]',     'WINDOWS-1251', ],
+  [ 'sl',   '[sl]',     'WINDOWS-1250', ],
+  [ 'sv',   '[sv]',     'WINDOWS-1252', ],
+  [ 'tr',   '[tr]',     'WINDOWS-1254', ],
+]
+
+extractlang = find_program('extractlang.sh')
+
+all_isl = []
+foreach language : languages
+  code    = language[0]
+  prefix  = language[1]
+  encoding= language[2]
+
+  islfile = '@0  setup isl'.format(code)
+
+  all_isl += custom_target(islfile,
+    input : isl_input,
+    output: islfile,
+    command: [ extractlang, prefix, encoding, '@INPUT@' ],
+    capture: true,
+    build_by_default: true,
+  )
+endforeach
diff --git a/build/windows/installer/meson.build b/build/windows/installer/meson.build
new file mode 100644
index 0000000..55564fb
--- /dev/null
+++ b/build/windows/installer/meson.build
@@ -0,0 +1 @@
+subdir('lang')
diff --git a/meson.build b/meson.build
index 48b37d0..0350d26 100644
--- a/meson.build
+++ b/meson.build
@@ -1405,6 +1405,15 @@ custom_target('Changelog',
  #     # #    # #    # #    # # #   #  #    #
   #####   ####  #####  #####  # #    #  ####
 
+if platform_win32
+  subdir('build/windows')
+
+  if get_option('windows-installer')
+    subdir('po-windows-installer')
+    subdir('build/windows/installer')
+  endif
+endif
+
 # Tools
 subdir('libgimpbase')
 subdir('tools')
@@ -1442,18 +1451,11 @@ subdir('plug-ins')
 subdir('app')
 subdir('pdb')
 
-if platform_win32
-  subdir('build/windows')
-  # subdir('build/windows/installer')
-  # subdir('po-windows-installer')
-endif
-
 # Docs
 subdir('devel-docs')
 subdir('docs')
 
 
-
 ################################################################################
 
 message('''
diff --git a/po-windows-installer/meson.build b/po-windows-installer/meson.build
new file mode 100644
index 0000000..a820d9e
--- /dev/null
+++ b/po-windows-installer/meson.build
@@ -0,0 +1,2 @@
+po_windows_installer_dir = meson.current_source_dir()
+i18n.gettext(gettext_package + '-windows-installer')


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