meson: add -Dterminfo-install-location=disabled|custom-path

Add a new meson option, ‘terminfo-install-location’, that allows you
to customize _where_ the terminfo files are installed, relative to the
installation prefix.

It also recognizes the special value ‘disabled’, in which case the
terminfo files are not installed at all. The terminfo files _are_
however built (allowing us to catch build errors), and foot still
defaults to the ‘foot’ terminfo.

It defaults to $datadir/terminfo

If (the other option) ‘terminfo’ is set to disabled (or tic cannot be
found), terminfo-install-location is automatically set to ‘disabled’.
This commit is contained in:
Daniel Eklöf 2021-06-23 16:43:36 +02:00
parent ef349bfea2
commit 6268fc536b
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 15 additions and 3 deletions

View file

@ -216,13 +216,20 @@ executable(
install: true)
if tic.found()
terminfo_install_location = get_option('terminfo-install-location')
if terminfo_install_location == ''
terminfo_install_location = join_paths(get_option('datadir'), 'terminfo')
endif
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: terminfo_install_location != 'disabled',
install_dir: terminfo_install_location)
else
terminfo_install_location = 'disabled'
endif
install_data(
@ -240,6 +247,8 @@ subdir('icons')
summary(
{
'IME': get_option('ime'),
'Terminfo': tic.found(),
'Terminfo install location': terminfo_install_location,
},
bool_yn: true
)

View file

@ -1,2 +1,5 @@
option('ime', type: 'boolean', value: true, description: 'IME (Input Method Editor) support')
option('terminfo', type: 'feature', description: 'Install terminfo')
option('terminfo', type: 'feature', description: 'Build terminfo. When disabled, foot\'s terminfo will not be built, and foot will default to \'xterm-256color\' instead of \'foot\'.')
option('terminfo-install-location', type: 'string', description: 'Where to install the foot terminfo files, relative to the installation prefix. If set to \'disabled\', the terminfo files are not installed at all (useful when packaging the terminfo files in a separate package). Defaults to $datadir/terminfo.')