38 lines
1.3 KiB
Meson
38 lines
1.3 KiB
Meson
po4a = find_program('po4a', required : false)
|
|
|
|
if not (asciidoctor.found() and po4a.found())
|
|
subdir_done()
|
|
endif
|
|
|
|
awk = find_program('awk', required : true)
|
|
locales_output = run_command(awk, '/\[po4a_langs\]/ {for (i=2; i<=NF; i++) print $i}', 'po4a.cfg', check : true)
|
|
locales = locales_output.stdout().strip().split('\n')
|
|
po_files = []
|
|
foreach locale : locales
|
|
po_files += locale + '.po'
|
|
endforeach
|
|
|
|
custom_target('translate',
|
|
build_by_default : true,
|
|
command : [meson.project_source_root() / 'tools/poman-translate.sh',
|
|
'--srcdir', meson.current_source_dir(),
|
|
'--destdir', meson.current_build_dir() / 'translations',
|
|
'--asciidoctor-load-path', meson.project_source_root() / 'tools',
|
|
'--docdir', docdir,
|
|
'--po4acfg', meson.current_source_dir() / 'po4a.cfg',
|
|
'--util-linux-version', meson.project_version(),
|
|
'@INPUT@'],
|
|
console : true,
|
|
depend_files : ['po4a.cfg', 'util-linux-man.pot'] + po_files,
|
|
input : man_common_adocs + manadocs,
|
|
output : ['translations'])
|
|
|
|
manpages = []
|
|
foreach adoc : manadocs
|
|
manpages += fs.stem(adoc)
|
|
endforeach
|
|
|
|
meson.add_install_script(meson.project_source_root() / 'tools/poman-install.sh',
|
|
'--mandir', get_option('mandir'),
|
|
'--mansrcdir', meson.current_build_dir() / 'translations/man',
|
|
manpages)
|