Skip to content
Snippets Groups Projects
Commit b4a5c603 authored by Ignacio Casal Quinteiro's avatar Ignacio Casal Quinteiro Committed by Carlos Garnacho
Browse files

Add meson build system

parent 918efdd6
No related branches found
No related tags found
No related merge requests found
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
project(
'gsettings-desktop-schemas', 'c',
version: '3.31.0',
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')
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')
option('introspection',
description: 'Whether to build introspection files',
type: 'boolean',
value: true)
i18n = import('i18n')
i18n.gettext(gsettings_desktop_schemas_name, preset: 'glib')
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',
)
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)
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)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment