summaryrefslogtreecommitdiffstats
path: root/data/meson.build
blob: 28d72a1e2079b78917133c39fc95fd731f4ab640 (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
subdir('icons')

install_man('gedit.1')

appdata = 'org.gnome.gedit.appdata.xml'
appdata_file = i18n.merge_file(
  input: appdata + '.in',
  output: appdata,
  po_dir: '../po/',
  install: true,
  install_dir: get_option('datadir') / 'metainfo'
)

appstream_util = find_program('appstream-util', required: get_option('require_all_tests'))
if appstream_util.found()
  test(
    'validate-appdata',
    appstream_util,
    args: ['validate-relax', '--nonet', appdata_file]
  )
endif

desktop_file = 'org.gnome.gedit.desktop'
desktop_output_file = i18n.merge_file(
  type: 'desktop',
  input: desktop_file + '.in',
  output: desktop_file,
  po_dir: '../po/',
  install: true,
  install_dir: get_option('datadir') / 'applications'
)

desktop_file_validate = find_program('desktop-file-validate', required: get_option('require_all_tests'))
if desktop_file_validate.found()
  test(
    'validate-desktop',
    desktop_file_validate,
    args: [desktop_output_file]
  )
endif

active_plugins = [
  'docinfo',
  'filebrowser',
  'modelines',
  'sort',
  'spell',
]

quoted_plugins = []
foreach plugin_name : active_plugins
  quoted_plugins += '\'@0@\''.format(plugin_name)
endforeach

gschema_in = configuration_data()
gschema_in.set('ACTIVE_PLUGINS', ', '.join(quoted_plugins))

gschema_file = configure_file(
  input: 'org.gnome.gedit.gschema.xml.in',
  output: 'org.gnome.gedit.gschema.xml',
  configuration: gschema_in,
  install_dir: get_option('datadir') / 'glib-2.0/schemas'
)

gschema_dtd = gio_dep.get_pkgconfig_variable('schemasdir') / 'gschema.dtd'

xmllint = find_program('xmllint', required: get_option('require_all_tests'))
if xmllint.found()
  test(
    'validate-gschema',
    xmllint,
    args: [
      '--noout',
      '--dtdvalid', gschema_dtd,
      gschema_file,
    ]
  )
endif

if host_machine.system() == 'windows'
  install_data(
    'org.gnome.gedit-ms-windows.gschema.override',
    install_dir: get_option('datadir') / 'glib-2.0/schemas'
  )
endif

service_in = configuration_data()
service_in.set('bindir', get_option('prefix') / get_option('bindir'))

configure_file(
  input: 'org.gnome.gedit.service.in',
  output: 'org.gnome.gedit.service',
  configuration: service_in,
  install_dir: get_option('datadir') / 'dbus-1/services'
)