summaryrefslogtreecommitdiff
path: root/docs/reference/igt-gpu-tools/meson.build
blob: ebcb6b7a4874f9efadab1e1ac0a97a5aebb3194c (plain)
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
gnome = import('gnome')

ignore_headers = [
	'gen6_render.h',
	'gen7_media.h',
	'gen7_render.h',
	'gen8_media.h',
	'gen8_render.h',
	'gpgpu_fill.h',
	'i830_reg.h',
	'i915_3d.h',
	'i915_pciids.h',
	'i915_reg.h',
	'igt_edid_template.h',
	'intel_reg.h',
	'debug.h',
	'instdone.h',
	'media_fill.h',
	'rendercopy.h',
	'media_spin.h',
	'media_fill_gen9.h',
	'gen9_render.h',
	'version.h',
]

test_groups = [
	'amdgpu',
	'chamelium',
	'core',
	'debugfs',
	'drm',
	'drv',
	'gem',
	'gen3',
	'gen7',
	'gvt',
	'kms',
	'meta',
	'perf',
	'pm',
	'prime',
	'sw_sync',
	'testdisplay',
	'tools',
	'vgem',
]

gen_description = find_program('generate_description_xml.sh')
gen_programs = find_program('generate_programs_xml.sh')

test_list_files = []

generated_docs = []

configure_file(input: 'version.xml.in',
	       output: 'version.xml',
	       install: false, configuration: config)

if meson.version().version_compare('>= 0.47')
	foreach group : test_groups
		programs_xml = 'igt_test_programs_' + group + '_programs.xml'
		generated_docs += custom_target(programs_xml,
			      output : programs_xml,
			      command : [ gen_programs, '@OUTPUT@', group, test_list ])

		description_xml = 'igt_test_programs_' + group + '_description.xml'
		generated_docs += custom_target(description_xml,
			      output : description_xml,
			      depends : test_executables,
			      command : [ gen_description, '@OUTPUT@', group, test_list ])
	endforeach
else
	# older meson needs the build_by_default hack because gtkdoc dependency
	# handling is broken
	foreach group : test_groups
		programs_xml = 'igt_test_programs_' + group + '_programs.xml'
		custom_target(programs_xml,
			      build_by_default : true,
			      output : programs_xml,
			      command : [ gen_programs, '@OUTPUT@', group, test_list ])

		description_xml = 'igt_test_programs_' + group + '_description.xml'
		custom_target(description_xml,
			      build_by_default : true,
			      output : description_xml,
			      depends : test_executables,
			      command : [ gen_description, '@OUTPUT@', group, test_list ])
	endforeach
endif

gnome.gtkdoc('igt-gpu-tools',
	     content_files : ['igt_test_programs.xml'] + generated_docs,
	     dependencies : lib_igt,
	     install : true,
	     main_xml : 'igt-gpu-tools-docs.xml',
	     scan_args : '--rebuild-sections',
	     mkdb_args : '--output-format=xml',
	     ignore_headers : ignore_headers,
	     src_dir : inc_for_gtkdoc)