File: meson.build

package info (click to toggle)
drawing 1.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 17,676 kB
  • sloc: python: 8,539; xml: 275; sh: 147; makefile: 13
file content (74 lines) | stat: -rw-r--r-- 2,276 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

################################################################################
# Installation and validation of the .desktop file #############################

desktop_files_dir = join_paths(get_option('datadir'), 'applications')
if get_option('enable-translations-and-appdata')
	desktop_file = i18n.merge_file(
		input: app_uuid + '.desktop.in',
		output: app_uuid + '.desktop',
		type: 'desktop',
		po_dir: '../po',
		install: true,
		install_dir: desktop_files_dir
	)
else
	install_data(
		app_uuid + '.desktop.in',
		rename: app_uuid + '.desktop',
		install_dir: desktop_files_dir
	)
	desktop_file = desktop_files_dir / app_uuid + '.desktop'
endif

desktop_utils = find_program('desktop-file-validate', required: false)
if desktop_utils.found()
	test('Validate desktop file', desktop_utils, args: [desktop_file])
endif

################################################################################
# Installation and validation of the appstream file ############################

if get_option('enable-translations-and-appdata')
	appstream_file = i18n.merge_file(
		input: app_uuid + '.appdata.xml.in',
		output: app_uuid + '.appdata.xml',
		po_dir: '../po',
		install: true,
		install_dir: join_paths(get_option('datadir'), 'metainfo')
	)

	appstream_util = find_program('appstream-util', required: false)
	if appstream_util.found()
		test(
			'Validate appstream file',
			appstream_util,
			args: ['validate', appstream_file]
		)
		# The app will never pass "validate-strict" because appstream-util wants
		# pictures with a 16:9 ratio, while i use pictures of the default window
		# size, which is approximating the objectively better golden ratio.
	endif
endif

################################################################################
# Installation and validation of the .gschema file #############################

install_data(
	app_uuid + '.gschema.xml',
	install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas')
)

compile_schemas = find_program('glib-compile-schemas', required: false)
if compile_schemas.found()
	test(
		'Validate schema file',
		compile_schemas,
		args: ['--strict', '--dry-run', meson.current_source_dir()]
	)
endif

################################################################################

subdir('icons')