diff options
author | Ignacio Casal Quinteiro <qignacio@amazon.com> | 2018-11-16 12:04:50 +0100 |
---|---|---|
committer | Ignacio Casal Quinteiro <qignacio@amazon.com> | 2018-11-16 12:45:58 +0100 |
commit | d2303b39af51d34733370dae0c5e200a462716a3 (patch) | |
tree | f6523b7ad2860f4d2fd3a376cd15bcce92eb2086 | |
parent | 370c84760e056dd703b31690ee909e4e643bdd43 (diff) | |
download | gsettings-desktop-schemas-wip/nacho/meson.tar.gz |
Add meson build systemwip/nacho/meson
-rw-r--r-- | headers/meson.build | 18 | ||||
-rw-r--r-- | meson.build | 51 | ||||
-rw-r--r-- | meson_options.txt | 4 | ||||
-rw-r--r-- | po/meson.build | 3 | ||||
-rw-r--r-- | schemas/meson.build | 41 |
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) |