[tracker] meson: Install all GSettings schemas and enums



commit 13a929d69d558defab2e92e8ccb05bcebaa2dff4
Author: Sam Thursfield <sam thursfield codethink co uk>
Date:   Wed Oct 18 17:37:26 2017 +0100

    meson: Install all GSettings schemas and enums
    
    Some were missing altogether, and one was missing its enums which meant
    it was rejected by the schema compiler.

 meson.build                     |    3 +++
 src/libtracker-data/meson.build |    7 +++++++
 src/libtracker-fts/meson.build  |    7 +++++++
 src/tracker-store/meson.build   |   18 ++++++++++++++++--
 4 files changed, 33 insertions(+), 2 deletions(-)
---
diff --git a/meson.build b/meson.build
index 259294a..976fa15 100644
--- a/meson.build
+++ b/meson.build
@@ -282,6 +282,8 @@ source_root = meson.current_source_dir()
 build_root = meson.current_build_dir()
 po_subdir = join_paths(source_root, 'po')
 
+gsettings_schema_dir = join_paths(get_option('datadir'), 'glib-2.0', 'schemas')
+
 tracker_internal_libs_dir = join_paths(get_option('prefix'), get_option('libdir'), 'tracker-' + 
tracker_api_version)
 
 # NOTE: We don't use ${TRACKER_API_VERSION} because other content like
@@ -290,6 +292,7 @@ tracker_ontologies_dir = join_paths(get_option('prefix'), get_option('datadir'),
 
 vapi_dir = join_paths(get_option('prefix'), get_option('datadir'), 'vala', 'vapi')
 
+glib_mkenums = find_program('glib-mkenums')
 g_ir_compiler = find_program('g-ir-compiler', gobject_introspection.get_pkgconfig_variable('g_ir_compiler'))
 g_ir_merge = find_program('g-ir-merge', join_paths(meson.current_source_dir(), 'utils', 'g-ir-merge', 
'g-ir-merge'))
 
diff --git a/src/libtracker-data/meson.build b/src/libtracker-data/meson.build
index 58efd2c..e85ed5f 100644
--- a/src/libtracker-data/meson.build
+++ b/src/libtracker-data/meson.build
@@ -76,3 +76,10 @@ tracker_data_dep = declare_dependency(
     include_directories: include_directories('.'),
     sources: enums[1],
 )
+
+custom_target('libtracker-data-settings-schema',
+    input: 'org.freedesktop.Tracker.DB.gschema.xml.in',
+    output: 'org.freedesktop.Tracker.DB.gschema.xml',
+    command: ['intltool-merge', '--quiet', '--xml-style', '--utf8', po_subdir, '@INPUT@', '@OUTPUT@'],
+    install: true,
+    install_dir: gsettings_schema_dir)
diff --git a/src/libtracker-fts/meson.build b/src/libtracker-fts/meson.build
index f826a2a..dc7bb76 100644
--- a/src/libtracker-fts/meson.build
+++ b/src/libtracker-fts/meson.build
@@ -19,3 +19,10 @@ tracker_fts_dep = declare_dependency(
     link_with: libtracker_fts,
     dependencies: libtracker_fts_dependencies
 )
+
+custom_target('libtracker-fts-settings-schema',
+    input: 'org.freedesktop.Tracker.FTS.gschema.xml.in',
+    output: 'org.freedesktop.Tracker.FTS.gschema.xml',
+    command: ['intltool-merge', '--quiet', '--xml-style', '--utf8', po_subdir, '@INPUT@', '@OUTPUT@'],
+    install: true,
+    install_dir: gsettings_schema_dir)
diff --git a/src/tracker-store/meson.build b/src/tracker-store/meson.build
index 3518a2d..a36ce56 100644
--- a/src/tracker-store/meson.build
+++ b/src/tracker-store/meson.build
@@ -72,14 +72,28 @@ custom_target('tracker-store-settings-schema',
     output: 'org.freedesktop.Tracker.Store.gschema.xml',
     command: ['intltool-merge', '--quiet', '--xml-style', '--utf8', po_subdir, '@INPUT@', '@OUTPUT@'],
     install: true,
-    install_dir: join_paths(get_option('datadir'), 'glib-2.0', 'schemas'))
+    install_dir: gsettings_schema_dir)
 
 custom_target('tracker-store-settings-schemalist',
     input: 'org.freedesktop.Tracker.gschema.xml.in',
     output: 'org.freedesktop.Tracker.gschema.xml',
     command: ['intltool-merge', '--quiet', '--xml-style', '--utf8', po_subdir, '@INPUT@', '@OUTPUT@'],
     install: true,
-    install_dir: join_paths(get_option('datadir'), 'glib-2.0', 'schemas'))
+    install_dir: gsettings_schema_dir)
+
+custom_target('tracker-store-settings-enums',
+    input: '../libtracker-common/tracker-enums.h',
+    output: 'org.freedesktop.Tracker.enums.xml',
+    command: [glib_mkenums,
+              '--comments', '<!-- @comment@ -->',
+              '--fhead', '<schemalist>',
+              '--vhead', '<@type@ id="org.freedesktop.Tracker.@EnumName@">',
+              '--vprod', '    <value nick="@valuenick@" value="@valuenum@"/>',
+              '--vtail', '  </@type@>',
+              '--ftail', '</schemalist>', '@INPUT@'],
+    capture: true,
+    install: true,
+    install_dir: gsettings_schema_dir)
 
 install_data('default.rule',
     install_dir: join_paths(get_option('datadir'), 'tracker', 'domain-ontologies'))


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