Loupe/data/meson.build

130 lines
2.6 KiB
Meson
Raw Normal View History

mime_types = []
# image-rs
mime_types += [
2026-01-30 22:20:37 +01:00
'image/apng',
'image/bmp',
'image/gif',
'image/jp2',
'image/jpeg',
'image/png',
2026-01-30 22:20:37 +01:00
'image/qoi',
'image/tiff',
'image/x-jp2-codestream',
# .ico
'image/vnd.microsoft.icon',
2026-01-30 22:20:37 +01:00
'image/webp',
# DDS
'image/x-dds',
# OpenEXR
'image/x-exr',
# PNM
2026-01-30 22:20:37 +01:00
'image/x-portable-anymap',
'image/x-portable-bitmap',
'image/x-portable-graymap',
'image/x-portable-pixmap',
2025-01-07 16:52:54 +01:00
# Both mime types exist in the wild
'image/x-qoi',
2026-01-30 22:20:37 +01:00
# TGA
'image/x-tga',
# .cur
'image/x-win-bitmap',
# XBM
'image/x-xbitmap',
# XPM
'image/x-xpixmap'
]
# SVG
mime_types += [
'image/svg+xml',
'image/svg+xml-compressed',
]
# HEIF
mime_types += [
'image/avif',
'image/heic',
]
# JXL
mime_types += [
'image/jxl',
]
conf = configuration_data()
conf.set('APP_ID', app_id)
conf.set('BIN_NAME', meson.project_name())
conf.set('BINDIR', bindir)
conf.set('MIME_TYPES', ';'.join(mime_types) + ';')
desktop_file = i18n.merge_file(
input: configure_file(
input: 'org.gnome.Loupe.desktop.in.in',
output: 'org.gnome.Loupe.desktop.in',
configuration: conf,
),
output: '@0@.desktop'.format(app_id),
type: 'desktop',
po_dir: '../po',
install: true,
install_dir: datadir / 'applications',
)
configure_file(
input: 'org.gnome.Loupe.service.in',
output: '@0@.service'.format(app_id),
configuration: conf,
install: true,
install_dir: datadir / 'dbus-1' / 'services',
)
desktop_utils = find_program('desktop-file-validate', required: false)
if desktop_utils.found()
test('Validate desktop file', desktop_utils, args: [desktop_file])
endif
appstream_file = i18n.merge_file(
input: configure_file(
input: 'org.gnome.Loupe.metainfo.xml.in.in',
output: 'org.gnome.Loupe.metainfo.xml.in',
configuration: conf,
),
output: '@0@.metainfo.xml'.format(app_id),
po_dir: '../po',
install: true,
install_dir: datadir / 'metainfo',
)
# Validate Appdata
appstreamcli = find_program('appstreamcli', required: false)
if (appstreamcli.found())
test(
'Validate metainfo file',
appstreamcli,
args: ['validate', '--no-net', appstream_file],
workdir: meson.current_build_dir(),
)
endif
subdir('icons')
# GSchema
gschema_conf = configuration_data()
gschema_conf.set('app-id', app_id)
gschema_conf.set('gettext-package', meson.project_name())
configure_file(
input: 'org.gnome.Loupe.gschema.xml.in',
output: '@0@.gschema.xml'.format(app_id),
configuration: gschema_conf,
install: true,
install_dir: datadir / 'glib-2.0' / 'schemas',
)
# Validate GSchema
test(
'validate-gschema',
glib_compile_schemas,
args: ['--strict', '--dry-run', meson.current_source_dir()],
2025-04-18 02:40:39 +02:00
)