[grilo] build: add Meson build support



commit 4538c07aafae1d23211335ecfd51fb97e4f4d96d
Author: Juan A. Suarez Romero <jasuarez igalia com>
Date:   Tue Feb 14 11:22:22 2017 +0100

    build: add Meson build support
    
    https://bugzilla.gnome.org/show_bug.cgi?id=775950

 bindings/meson.build                      |   10 +++
 bindings/vala/meson.build                 |   31 +++++++
 doc/grilo/meson.build                     |   26 ++++++
 doc/man/meson.build                       |   14 +++
 doc/meson.build                           |   12 +++
 examples/meson.build                      |   32 ++++++++
 libs/meson.build                          |   14 +++
 libs/net/meson.build                      |   54 ++++++++++++
 libs/pls/meson.build                      |   40 +++++++++
 meson.build                               |  125 +++++++++++++++++++++++++++++
 meson_options.txt                         |    6 ++
 po/meson.build                            |   58 +++++++++++++
 src/grl-metadata-key.h                    |    4 +
 src/meson.build                           |  123 ++++++++++++++++++++++++++++
 tools/grilo-inspect/generate_core_keys.py |   36 ++++++++
 tools/grilo-inspect/meson.build           |   22 +++++
 tools/grilo-launch/meson.build            |   16 ++++
 tools/grilo-test-ui/meson.build           |   27 ++++++
 tools/meson.build                         |   13 +++
 19 files changed, 663 insertions(+), 0 deletions(-)
---
diff --git a/bindings/meson.build b/bindings/meson.build
new file mode 100644
index 0000000..72a2f7e
--- /dev/null
+++ b/bindings/meson.build
@@ -0,0 +1,10 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+if enable_vala
+    subdir('vala')
+endif
diff --git a/bindings/vala/meson.build b/bindings/vala/meson.build
new file mode 100644
index 0000000..3190f00
--- /dev/null
+++ b/bindings/vala/meson.build
@@ -0,0 +1,31 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+vapidir = join_paths([
+    prefix,
+    get_option('datadir'),
+    'vala',
+    'vapi',
+])
+
+vala_sources = [ # LIBRARY, GIR, DEPS
+    ['grilo-@0@'.format(grl_majorminor), grl_gir[0], ['gmodule-2.0', 'gio-2.0']],
+    ['grilo-net-@0@'.format(grl_majorminor), grlnet_gir[0], ['gio-2.0']],
+]
+
+foreach s: vala_sources
+    custom_vala = '@0 -custom vala'.format(s[0])
+    lib = s[0]
+    gir = s[1]
+    deps = s[2]
+
+    gnome.generate_vapi(lib,
+        sources: [custom_vala, gir],
+        packages: deps,
+        install: true)
+endforeach
+
diff --git a/doc/grilo/meson.build b/doc/grilo/meson.build
new file mode 100644
index 0000000..299c28b
--- /dev/null
+++ b/doc/grilo/meson.build
@@ -0,0 +1,26 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+types = configure_file(input : 'grilo.types',
+  output : 'grilo.types',
+  configuration : configuration_data())
+
+gnome.gtkdoc('grilo',
+    main_sgml: 'grilo-docs.sgml',
+    src_dir: join_paths(meson.source_root(), 'src'),
+    dependencies: libgrl_dep,
+    gobject_typesfile: types,
+    install: true,
+    content_files: [
+        'environment-setup.xml',
+        'plugins-sources.xml',
+        'plugins-testing.xml',
+        'quick-start.xml',
+        'writing-apps.xml',
+        'overview.xml',
+    ]
+)
diff --git a/doc/man/meson.build b/doc/man/meson.build
new file mode 100644
index 0000000..1240357
--- /dev/null
+++ b/doc/man/meson.build
@@ -0,0 +1,14 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+manpages = [
+    'grilo-test-ui-0.3.1',
+    'grl-inspect-0.3.1',
+    'grl-launch-0.3.1',
+]
+
+install_man(manpages)
diff --git a/doc/meson.build b/doc/meson.build
new file mode 100644
index 0000000..6872d8c
--- /dev/null
+++ b/doc/meson.build
@@ -0,0 +1,12 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+subdir('man')
+
+if get_option('enable-gtk-doc')
+    subdir('grilo')
+endif
diff --git a/examples/meson.build b/examples/meson.build
new file mode 100644
index 0000000..8cd85c7
--- /dev/null
+++ b/examples/meson.build
@@ -0,0 +1,32 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+examples = [
+    'browsing',
+    'configuring-plugins',
+    'efficient-metadata-resolution',
+    'loading-plugins',
+    'multivalues',
+    'searching',
+]
+
+foreach e: examples
+    source = e + '.c'
+    executable(e,
+        source,
+        install: false,
+        link_with: libgrl,
+        dependencies: libgrl_dep)
+endforeach
+
+if enable_grlpls
+    executable('browsing-pls',
+        'browsing-pls.c',
+        install: false,
+        link_with: [libgrl, libgrlpls],
+        dependencies: libgrl_dep)
+endif
diff --git a/libs/meson.build b/libs/meson.build
new file mode 100644
index 0000000..458f214
--- /dev/null
+++ b/libs/meson.build
@@ -0,0 +1,14 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+if enable_grlnet
+    subdir('net')
+endif
+
+if enable_grlpls
+    subdir('pls')
+endif
diff --git a/libs/net/meson.build b/libs/net/meson.build
new file mode 100644
index 0000000..fe971db
--- /dev/null
+++ b/libs/net/meson.build
@@ -0,0 +1,54 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+grlnet_sources = [
+    'grl-net-mock.c',
+    'grl-net-wc.c',
+]
+
+grlnet_headers = [
+    'grl-net.h',
+    'grl-net-wc.h',
+]
+
+grlnet_priv_headers = [
+    'grl-net-mock-private.h',
+]
+
+configure_file(output: 'config.h',
+    configuration: cdata)
+
+install_headers(grlnet_headers,
+    subdir: '@0@/net'.format(grl_name))
+
+libgrlnet = shared_library('grlnet-@0@'.format(grl_majorminor),
+    sources: grlnet_sources + grlnet_priv_headers,
+    soversion: soversion,
+    version: grlnet_lt_version,
+    install: true,
+    c_args: '-DHAVE_CONFIG_H',
+    dependencies: [libsoup_dep, libgrl_dep],
+    include_directories: libgrl_inc)
+
+if enable_gir
+    gir_extra_args = [
+        '--c-include=net/grl-net.h',
+        '--cflags-begin',
+        '-I' + '@0@/libs'.format(meson.source_root()),
+        '--cflags-end',
+    ]
+
+    grlnet_gir = gnome.generate_gir(libgrlnet,
+        sources: grlnet_headers,
+        namespace: 'GrlNet',
+        nsversion: grl_majorminor,
+        identifier_prefix: 'GrlNet',
+        symbol_prefix: 'grl_net',
+        includes: [ 'GObject-2.0', 'Gio-2.0', 'Soup-2.4' ],
+        install: true,
+        extra_args: gir_extra_args)
+endif
diff --git a/libs/pls/meson.build b/libs/pls/meson.build
new file mode 100644
index 0000000..66c4ff2
--- /dev/null
+++ b/libs/pls/meson.build
@@ -0,0 +1,40 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+grlpls_sources = [
+    'grl-pls.c',
+]
+
+grlpls_headers = [
+    'grl-pls.h',
+]
+
+configure_file(output: 'config.h',
+    configuration: cdata)
+
+install_headers(grlpls_headers,
+    subdir: '@0@/pls'.format(grl_name))
+
+libgrlpls = shared_library('grlpls-@0@'.format(grl_majorminor),
+    sources: grlpls_sources,
+    install: true,
+    soversion: soversion,
+    version: grlpls_lt_version,
+    c_args: '-DHAVE_CONFIG_H',
+    dependencies: [totem_plparser_dep, libgrl_dep],
+    include_directories: libgrl_inc)
+
+if enable_gir
+    gnome.generate_gir(libgrlpls,
+        sources: grlpls_headers,
+        namespace: 'GrlPls',
+        nsversion: grl_majorminor,
+        identifier_prefix: 'GrlPls',
+        symbol_prefix: 'grl_pls',
+        includes: [ 'GObject-2.0', 'Gio-2.0' ],
+        install: true)
+endif
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..c733065
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,125 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+project('grilo', 'c',
+        version: '0.3.3',
+        default_options: [
+            'buildtype=debugoptimized',
+            'c_std=gnu99',
+            'warning_level=1'
+        ],
+        license: 'LGPL 2.1',
+        meson_version: '>= 0.36.0')
+
+grilo_version = meson.project_version()
+grlnet_version = meson.project_version()
+grlpls_version = meson.project_version()
+
+# maintaining compatibility with the previous libtool versioning
+# current = minor * 100 + micro
+version_array = grilo_version.split('.')
+soversion = version_array[0]
+current = version_array[1].to_int() * 100 + version_array[2].to_int()
+
+# Increase the age everytime new API is added
+grilo_interface_age = 1
+grlnet_interface_age = 0
+grlpls_interface_age = 0
+
+grilo_lt_version = '@0@.@1@.@2@'.format(soversion, current, grilo_interface_age)
+grlnet_lt_version = '@0@.@1@.@2@'.format(soversion, current, grlnet_interface_age)
+grlpls_lt_version = '@0@.@1@.@2@'.format(soversion, current, grlpls_interface_age)
+
+grl_majorminor = '@0@.@1@'.format(version_array[0], version_array[1])
+grl_name = '@0@-@1@'.format(meson.project_name(), grl_majorminor)
+
+gio_dep = dependency('gio-2.0', version: '>= 2.44', required: true)
+glib_dep = dependency('glib-2.0', version: '>= 2.34', required: true)
+gmodule_dep = dependency('gmodule-2.0', required: true)
+gobject_dep = dependency('gobject-2.0', required: true)
+libxml_dep = dependency('libxml-2.0', required: true)
+
+enable_grlnet = get_option('enable-grl-net')
+if enable_grlnet
+    libsoup_dep = dependency('libsoup-2.4', version: '>= 2.41.3', required: true)
+endif
+
+enable_grlpls = get_option('enable-grl-pls')
+if enable_grlpls
+    totem_plparser_dep = dependency('totem-plparser', version: '>= 3.4.1', required: true)
+endif
+
+enable_gir = get_option('enable-introspection') or get_option('enable-vala')
+if enable_gir
+   find_program('g-ir-scanner', required: true)
+endif
+
+enable_vala = get_option('enable-vala')
+if enable_vala
+    vapigen = find_program('vapigen', required: true)
+endif
+
+enable_testui = get_option('enable-test-ui')
+if enable_testui
+    gtk_dep = dependency('gtk+-3.0', version: '>= 3.0', required: true)
+    oauth_dep = dependency('oauth', required: false)
+endif
+
+prefix = get_option('prefix')
+libdir = join_paths(prefix, get_option('libdir'))
+plugins_dir = join_paths(libdir, grl_name)
+localedir = join_paths(prefix, get_option('localedir'))
+
+cdata = configuration_data()
+cdata.set_quoted('VERSION', grilo_version)
+cdata.set('GRLNET_VERSION', grlnet_version)
+cdata.set('GRLPLS_VERSION', grlpls_version)
+cdata.set_quoted('GRL_MAJORMINOR', grl_majorminor)
+cdata.set_quoted('GETTEXT_PACKAGE', meson.project_name())
+cdata.set_quoted('GRL_PLUGINS_DIR', plugins_dir)
+cdata.set_quoted('LOCALEDIR', localedir)
+if enable_testui
+   cdata.set('HAVE_OAUTH', oauth_dep.found())
+endif
+
+pkgconfig_files = [
+    'grilo-@0@'.format(grl_majorminor),
+    'grilo-net-@0@'.format(grl_majorminor),
+    'grilo-pls-@0@'.format(grl_majorminor),
+]
+
+pkgconf = configuration_data()
+pkgconf.set('prefix', prefix)
+pkgconf.set('exec_prefix', '${prefix}')
+pkgconf.set('libdir', libdir)
+pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
+pkgconf.set('GRL_NAME', grl_name)
+pkgconf.set('GRL_PLUGINS_DIR', plugins_dir)
+pkgconf.set('INTROSPECTION_GIRDIR', '${datarootdir}/gir-1.0')
+pkgconf.set('INTROSPECTION_TYPELIBDIR', '${libdir}/girepository-1.0'.format(get_option('libdir')))
+pkgconf.set('VERSION', grilo_version)
+pkgconf.set('GRLNET_VERSION', grlnet_version)
+pkgconf.set('GRLPLS_VERSION', grlpls_version)
+
+foreach p: pkgconfig_files
+    infile = p + '.pc.in'
+    outfile = p + '.pc'
+    configure_file(input: infile,
+        output: outfile,
+        configuration: pkgconf,
+        install_dir: '@0@/pkgconfig'.format(get_option('libdir')))
+endforeach
+
+gnome = import('gnome')
+
+subdir('src')
+subdir('libs')
+subdir('bindings')
+subdir('po')
+subdir('tools')
+subdir('examples')
+subdir('doc')
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..5f396a1
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,6 @@
+option('enable-grl-net', type: 'boolean', value: true, description: 'Enable Grilo Net library')
+option('enable-grl-pls', type: 'boolean', value: true, description: 'Enable Grilo Pls library')
+option('enable-gtk-doc', type: 'boolean', value: false, description: 'Enable generating the API reference')
+option('enable-introspection', type: 'boolean', value: true, description: 'Enable GObject Introspection')
+option('enable-test-ui', type: 'boolean', value: true, description: 'Build Test UI')
+option('enable-vala', type: 'boolean', value: true, description: 'Enable Vala (enables GObject 
Introspection)')
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 0000000..bca1fd8
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1,58 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+i18n = import('i18n')
+
+langs = [
+    'as',
+    'bg',
+    'bs',
+    'ca',
+    'ca@valencia',
+    'cs',
+    'da',
+    'de',
+    'el',
+    'en_GB',
+    'eo',
+    'es',
+    'eu',
+    'fr',
+    'fur',
+    'gl',
+    'he',
+    'hu',
+    'id',
+    'it',
+    'ja',
+    'ko',
+    'lt',
+    'lv',
+    'ml',
+    'nb',
+    'nl',
+    'oc',
+    'pa',
+    'pl',
+    'pt',
+    'pt_BR',
+    'ru',
+    'sk',
+    'sl',
+    'sr',
+    'sr@latin',
+    'sv',
+    'tg',
+    'tr',
+    'uk',
+    'zh_CN',
+    'zh_HK',
+    'zh_TW',
+]
+
+i18n.gettext(meson.project_name(),
+    languages: langs)
diff --git a/src/grl-metadata-key.h b/src/grl-metadata-key.h
index 4a8c592..0fa160a 100644
--- a/src/grl-metadata-key.h
+++ b/src/grl-metadata-key.h
@@ -63,6 +63,8 @@ typedef enum {
 
 #define GRL_METADATA_KEY_INVALID              0
 
+/* BEGIN CORE KEYS */
+
 #define GRL_METADATA_KEY_ALBUM                1
 #define GRL_METADATA_KEY_ARTIST               2
 #define GRL_METADATA_KEY_AUTHOR               3
@@ -124,6 +126,8 @@ typedef enum {
 #define GRL_METADATA_KEY_COMPOSER             59
 #define GRL_METADATA_KEY_ALBUM_ARTIST         60
 
+/* END CORE KEYS */
+
 G_BEGIN_DECLS
 
 const gchar *grl_metadata_key_get_name (GrlKeyID key);
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000..d9d93ca
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,123 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+grl_marshal = gnome.genmarshal('grl-marshal',
+    sources: 'grl-marshal.list',
+    prefix: 'grl_marshal')
+
+grl_type_builtins = gnome.mkenums('grl-type-builtins',
+    sources: [
+        'data/grl-media.h',
+        'grl-caps.h',
+        'grl-metadata-key.h',
+        'grl-operation-options.h',
+        'grl-source.h',
+    ],
+    c_template: 'grl-type-builtins.c.template',
+    h_template: 'grl-type-builtins.h.template')
+
+grl_sources = [
+    'data/grl-config.c',
+    'data/grl-data.c',
+    'data/grl-media.c',
+    'data/grl-related-keys.c',
+    'grilo.c',
+    'grl-caps.c',
+    'grl-log.c',
+    'grl-metadata-key.c',
+    'grl-multiple.c',
+    'grl-operation-options.c',
+    'grl-operation.c',
+    'grl-plugin.c',
+    'grl-range-value.c',
+    'grl-registry.c',
+    'grl-source.c',
+    'grl-sync.c',
+    'grl-util.c',
+    'grl-value-helper.c',
+]
+
+grl_headers = [
+    'data/grl-config.h',
+    'data/grl-data.h',
+    'data/grl-media.h',
+    'data/grl-related-keys.h',
+    'grilo.h',
+    'grl-caps.h',
+    'grl-definitions.h',
+    'grl-error.h',
+    'grl-log.h',
+    'grl-metadata-key.h',
+    'grl-multiple.h',
+    'grl-operation-options.h',
+    'grl-operation.h',
+    'grl-plugin.h',
+    'grl-range-value.h',
+    'grl-registry.h',
+    'grl-source.h',
+    'grl-util.h',
+    'grl-value-helper.h',
+]
+
+grl_priv_headers = [
+    'grl-metadata-key-priv.h',
+    'grl-operation-options-priv.h',
+    'grl-operation-priv.h',
+    'grl-plugin-priv.h',
+    'grl-registry-priv.h',
+    'grl-sync-priv.h',
+]
+
+configure_file(output: 'config.h',
+    configuration: cdata)
+
+install_headers(grl_headers,
+    subdir: grl_name)
+
+libgrl_inc = include_directories([
+    meson.current_source_dir(),
+    '@0@/data'.format(meson.current_source_dir()),
+])
+
+c_args = [
+    '-DGRILO_COMPILATION',
+    '-DG_LOG_DOMAIN="Grilo"',
+    '-DHAVE_CONFIG_H',
+]
+
+libgrl = shared_library(grl_name,
+    sources: grl_sources + grl_marshal + grl_type_builtins + grl_priv_headers,
+    install: true,
+    soversion: soversion,
+    version: grilo_lt_version,
+    dependencies: [glib_dep, gobject_dep, gmodule_dep, gio_dep, libxml_dep],
+    c_args: c_args,
+    link_args: '-Wl,--no-undefined',
+    include_directories: libgrl_inc)
+                            
+libgrl_dep = declare_dependency(link_with: libgrl,
+    include_directories: libgrl_inc,
+    dependencies: [glib_dep, gobject_dep, gmodule_dep, gio_dep, libxml_dep])
+
+if enable_gir
+    gir_extra_args = [
+        '--c-include=grilo.h',
+        '--cflags-begin',
+    ] + c_args + [
+        '--cflags-end',
+    ]
+
+    grl_gir = gnome.generate_gir(libgrl,
+        sources: grl_headers + grl_sources + grl_type_builtins,
+        namespace: 'Grl',
+        nsversion: grl_majorminor,
+        identifier_prefix: 'Grl',
+        symbol_prefix: 'grl',
+        includes: [ 'GObject-2.0', 'GModule-2.0', 'Gio-2.0' ],
+        install: true,
+        extra_args: gir_extra_args)
+endif
diff --git a/tools/grilo-inspect/generate_core_keys.py b/tools/grilo-inspect/generate_core_keys.py
new file mode 100644
index 0000000..1c28473
--- /dev/null
+++ b/tools/grilo-inspect/generate_core_keys.py
@@ -0,0 +1,36 @@
+#
+# generate_core_keys.py
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L.
+#
+# Generates a .c file containing an array with the core keys
+#
+
+import re
+import sys
+
+if len(sys.argv) != 3:
+    print("Usage: " + sys.argv[0] + " <input> <output>")
+    exit(1)
+
+finput = open(sys.argv[1], "r")
+foutput = open(sys.argv[2], "w")
+
+foutput.write("gchar *grl_core_keys[] = {\n")
+
+output_keys = False
+for line in finput:
+    if re.search("BEGIN CORE KEYS", line):
+        output_keys = True
+    if re.search("END CORE KEYS", line):
+        output_keys = False
+    m = re.search("GRL_METADATA_KEY_[^ ]+", line)
+    if output_keys and m:
+            foutput.write("\"" +  m.group(0) + "\",\n")
+
+foutput.write("};");
+
+finput.close()
+foutput.close()
diff --git a/tools/grilo-inspect/meson.build b/tools/grilo-inspect/meson.build
new file mode 100644
index 0000000..1131c7a
--- /dev/null
+++ b/tools/grilo-inspect/meson.build
@@ -0,0 +1,22 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+python = find_program('python')
+run_command(python,
+    '@0@/generate_core_keys.py'.format(meson.current_source_dir()),
+    '@0@/src/grl-metadata-key.h'.format(meson.source_root()),
+    '@0@/grl-core-keys.h'.format(meson.current_build_dir()))
+
+configure_file(output: 'config.h',
+    configuration: cdata)
+
+executable('grl-inspect-@0@'.format(grl_majorminor),
+    'grl-inspect.c',
+    install: true,
+    link_with: libgrl,
+    dependencies: [glib_dep, gobject_dep],
+    include_directories: libgrl_inc)
diff --git a/tools/grilo-launch/meson.build b/tools/grilo-launch/meson.build
new file mode 100644
index 0000000..744984b
--- /dev/null
+++ b/tools/grilo-launch/meson.build
@@ -0,0 +1,16 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+configure_file(output: 'config.h',
+    configuration: cdata)
+
+executable('grl-launch-@0@'.format(grl_majorminor),
+    'grl-launch.c',
+    install: true,
+    link_with: libgrl,
+    dependencies: [glib_dep, gobject_dep],
+    include_directories: libgrl_inc)
diff --git a/tools/grilo-test-ui/meson.build b/tools/grilo-test-ui/meson.build
new file mode 100644
index 0000000..c698cb8
--- /dev/null
+++ b/tools/grilo-test-ui/meson.build
@@ -0,0 +1,27 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+configure_file(output: 'config.h',
+    configuration: cdata)
+
+sources = [
+    'main.c',
+]
+
+if oauth_dep.found()
+    sources += [
+        'flickr-oauth.c',
+        'flickr-oauth.h',
+    ]
+endif
+
+executable('grilo-test-ui-@0@'.format(grl_majorminor),
+    sources,
+    install: true,
+    link_with: libgrl,
+    dependencies: [glib_dep, gobject_dep, gtk_dep, oauth_dep],
+    include_directories: libgrl_inc)
diff --git a/tools/meson.build b/tools/meson.build
new file mode 100644
index 0000000..b9b074b
--- /dev/null
+++ b/tools/meson.build
@@ -0,0 +1,13 @@
+#
+# meson.build
+#
+# Author: Juan A. Suarez Romero <jasuarez igalia com>
+#
+# Copyright (C) 2016 Igalia S.L. All rights reserved.
+
+subdir('grilo-inspect')
+subdir('grilo-launch')
+
+if enable_testui
+    subdir('grilo-test-ui')
+endif


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