meson.build (1794B)
1 subdir('icons') 2 subdir('resources') 3 # Desktop file 4 desktop_conf = configuration_data() 5 desktop_conf.set('icon', application_id) 6 desktop_file = i18n.merge_file( 7 type: 'desktop', 8 input: configure_file( 9 input: '@0@.desktop.in.in'.format(base_id), 10 output: '@BASENAME@', 11 configuration: desktop_conf 12 ), 13 output: '@0@.desktop'.format(application_id), 14 po_dir: podir, 15 install: true, 16 install_dir: datadir / 'applications' 17 ) 18 # Validate Desktop file 19 if desktop_file_validate.found() 20 test( 21 'validate-desktop', 22 desktop_file_validate, 23 args: [ 24 desktop_file.full_path() 25 ], 26 depends: desktop_file, 27 ) 28 endif 29 30 # Appdata 31 appdata_conf = configuration_data() 32 appdata_conf.set('app-id', application_id) 33 appdata_conf.set('gettext-package', gettext_package) 34 appdata_file = i18n.merge_file( 35 input: configure_file( 36 input: '@0@.metainfo.xml.in.in'.format(base_id), 37 output: '@BASENAME@', 38 configuration: appdata_conf 39 ), 40 output: '@0@.metainfo.xml'.format(application_id), 41 po_dir: podir, 42 install: true, 43 install_dir: datadir / 'metainfo' 44 ) 45 # Validate Appdata 46 if appstreamcli.found() 47 test( 48 'validate-appdata', appstreamcli, 49 args: [ 50 'validate', '--no-net', '--explain', appdata_file.full_path() 51 ], 52 depends: appdata_file, 53 ) 54 endif 55 56 # GSchema 57 gschema_conf = configuration_data() 58 gschema_conf.set('app-id', application_id) 59 gschema_conf.set('gettext-package', gettext_package) 60 configure_file( 61 input: '@0@.gschema.xml.in'.format(base_id), 62 output: '@0@.gschema.xml'.format(application_id), 63 configuration: gschema_conf, 64 install: true, 65 install_dir: datadir / 'glib-2.0' / 'schemas' 66 ) 67 68 # Validata GSchema 69 test( 70 'validate-gschema', glib_compile_schemas, 71 args: [ 72 '--strict', '--dry-run', meson.current_build_dir() 73 ], 74 )