summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgnacio Casal Quinteiro <qignacio@amazon.com>2018-11-16 12:04:50 +0100
committerIgnacio Casal Quinteiro <qignacio@amazon.com>2018-11-16 12:45:58 +0100
commitd2303b39af51d34733370dae0c5e200a462716a3 (patch)
treef6523b7ad2860f4d2fd3a376cd15bcce92eb2086
parent370c84760e056dd703b31690ee909e4e643bdd43 (diff)
downloadgsettings-desktop-schemas-wip/nacho/meson.tar.gz
Add meson build systemwip/nacho/meson
-rw-r--r--headers/meson.build18
-rw-r--r--meson.build51
-rw-r--r--meson_options.txt4
-rw-r--r--po/meson.build3
-rw-r--r--schemas/meson.build41
5 files changed, 117 insertions, 0 deletions
diff --git a/headers/meson.build b/headers/meson.build
new file mode 100644
index 0000000..4bd3b15
--- /dev/null
+++ b/headers/meson.build
@@ -0,0 +1,18 @@
+headers = files(
+ 'gdesktop-enums.h'
+)
+
+install_headers(headers, subdir: gsettings_desktop_schemas_name)
+
+if not meson.is_cross_build() and get_option('introspection')
+ gnome.generate_gir(
+ header: headers,
+ namespace: 'GDesktopEnums',
+ identifier_prefix: 'GDesktop',
+ nsversion : '3.0',
+ install: true,
+ extra_args: [
+ '--header-only',
+ ]
+ )
+endif
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..f083bbc
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,51 @@
+project(
+ 'gsettings-desktop-schemas', 'c',
+ version: '3.28.1',
+ default_options: [
+ 'warning_level=2'
+ ],
+ license: 'LGPL',
+ meson_version: '>= 0.46.0'
+)
+
+gsettings_desktop_schemas_name = meson.project_name()
+gsettings_desktop_schemas_version = meson.project_version()
+
+message('Building ' + gsettings_desktop_schemas_name + ' ' + gsettings_desktop_schemas_version)
+
+cc = meson.get_compiler('c')
+host_system = host_machine.system()
+arch = host_machine.cpu_family()
+
+prefix = get_option('prefix')
+bindir = join_paths(prefix, get_option('bindir'))
+libdir = join_paths(prefix, get_option('libdir'))
+libexecdir = join_paths(prefix, get_option('libexecdir'))
+includedir = join_paths(prefix, get_option('includedir'))
+datadir = join_paths(prefix, get_option('datadir'))
+sysconfdir = join_paths(prefix, get_option('sysconfdir'))
+schemasdir = join_paths(datadir, 'glib-2.0/schemas')
+
+conf = configuration_data()
+
+conf.set('prefix', prefix)
+conf.set('exec_prefix', prefix)
+conf.set('libdir', libdir)
+conf.set('bindir', bindir)
+conf.set('libexecdir', libexecdir)
+conf.set('datarootdir', datadir)
+conf.set('datadir', datadir)
+conf.set('includedir', includedir)
+
+gnome = import('gnome')
+
+# Generate pc file
+pkg = import('pkgconfig')
+
+pkg.generate(name: gsettings_desktop_schemas_name,
+ version: gsettings_desktop_schemas_version,
+ description: 'Shared GSettings schemas for the desktop, including helper headers')
+
+subdir('headers')
+subdir('schemas')
+subdir('po')
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..d416715
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,4 @@
+option('introspection',
+ description: 'Whether to build introspection files',
+ type: 'boolean',
+ value: true)
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 0000000..f756f30
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1,3 @@
+i18n = import('i18n')
+
+i18n.gettext(gsettings_desktop_schemas_name, preset: 'glib')
diff --git a/schemas/meson.build b/schemas/meson.build
new file mode 100644
index 0000000..a176b29
--- /dev/null
+++ b/schemas/meson.build
@@ -0,0 +1,41 @@
+schemas_in = files(
+ 'org.gnome.desktop.default-applications.gschema.xml.in',
+ 'org.gnome.desktop.interface.gschema.xml.in',
+ 'org.gnome.desktop.lockdown.gschema.xml.in',
+ 'org.gnome.system.locale.gschema.xml.in',
+ 'org.gnome.system.location.gschema.xml.in',
+ 'org.gnome.system.proxy.gschema.xml.in',
+ 'org.gnome.desktop.sound.gschema.xml.in',
+ 'org.gnome.desktop.thumbnail-cache.gschema.xml.in',
+ 'org.gnome.desktop.a11y.gschema.xml.in',
+ 'org.gnome.desktop.a11y.keyboard.gschema.xml.in',
+ 'org.gnome.desktop.a11y.applications.gschema.xml.in',
+ 'org.gnome.desktop.a11y.magnifier.gschema.xml.in',
+ 'org.gnome.desktop.a11y.mouse.gschema.xml.in',
+ 'org.gnome.desktop.thumbnailers.gschema.xml.in',
+ 'org.gnome.desktop.session.gschema.xml.in',
+ 'org.gnome.desktop.background.gschema.xml.in',
+ 'org.gnome.desktop.calendar.gschema.xml.in',
+ 'org.gnome.desktop.datetime.gschema.xml.in',
+ 'org.gnome.desktop.media-handling.gschema.xml.in',
+ 'org.gnome.desktop.screensaver.gschema.xml.in',
+ 'org.gnome.desktop.search-providers.gschema.xml.in',
+ 'org.gnome.desktop.wm.keybindings.gschema.xml.in',
+ 'org.gnome.desktop.wm.preferences.gschema.xml.in',
+ 'org.gnome.desktop.input-sources.gschema.xml.in',
+ 'org.gnome.desktop.privacy.gschema.xml.in',
+ 'org.gnome.desktop.notifications.gschema.xml.in',
+ 'org.gnome.desktop.app-folders.gschema.xml.in',
+ 'org.gnome.desktop.peripherals.gschema.xml.in',
+)
+
+foreach schema: schemas_in
+ generated_schema = configure_file(
+ output: '@BASENAME@',
+ input: schema,
+ configuration: conf
+ )
+ install_data(generated_schema, install_dir: schemasdir)
+endforeach
+
+gnome.compile_schemas(build_by_default: true)