meson: try to workaround 'tic' writing multiple files into a subdirectory

tic writes all our terminfo files into a subdirectory. This is
difficult for meson to groc; you can for example not say

  output: ['f/foot', 'f/foot-direct']

This tries to workaround it by setting 'install: false' in the 'tic'
custom target, and instead add two separate targets for each terminfo
file.

Since the compiled terminfo file 'foot' would collide with the
executable 'foot', all terminfo stuff has been moved into a
subdirectory.
This commit is contained in:
Daniel Eklöf 2020-05-03 17:00:22 +02:00 committed by Alexander Sieg
parent b8e9e1ca06
commit 770bd79a9c
3 changed files with 21 additions and 9 deletions

View file

@ -151,17 +151,10 @@ executable(
'log.c', 'log.h', version,
install: true)
custom_target(
'terminfo',
output: 'f',
input: 'foot.info',
command: ['tic', '-x', '-o', '@OUTDIR@', '-e', 'foot,foot-direct', '@INPUT@'],
install: true,
install_dir: join_paths(get_option('datadir'), 'terminfo'))
install_data('foot.desktop', 'foot-server.desktop', install_dir: join_paths(get_option('datadir'), 'applications'))
install_data('footrc', install_dir: join_paths(get_option('datadir'), 'foot'))
install_data('footrc')
subdir('terminfo')
subdir('completions')
subdir('doc')

19
terminfo/meson.build Normal file
View file

@ -0,0 +1,19 @@
tic = find_program('tic', native: true)
tic_generated = custom_target(
'terminfo',
output: 'f',
input: 'foot.info',
command: [tic, '-x', '-o', '@OUTDIR@', '-e', 'foot,foot-direct', '@INPUT@'],
install: false,
install_dir: join_paths(get_option('datadir'), 'terminfo'))
foreach terminfo : ['foot', 'foot-direct']
custom_target(
'terminfo-@0@'.format(terminfo),
output: terminfo,
input: tic_generated,
command: ['cp', join_paths('@INPUT@', terminfo), '@OUTPUT@'],
install: true,
install_dir: join_paths(get_option('datadir'), 'terminfo', 'f'))
endforeach