meson: add -Ddocs=disabled|enabled|auto command line option

When enabled (the default, if scdoc is found), we build and install
the man pages, example foot.ini, readme, changelog and license files.
This commit is contained in:
Daniel Eklöf 2021-07-24 13:09:25 +02:00
parent b8d68afbb9
commit 7c686208a1
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
4 changed files with 18 additions and 6 deletions

View file

@ -34,6 +34,7 @@
* Window title in the CSDs
(https://codeberg.org/dnkl/foot/issues/638).
* `-Ddocs=disabled|enabled|auto` meson command line option.
### Changed

View file

@ -64,7 +64,7 @@ In addition to the dev variant of the packages above, you need:
* ninja
* wayland protocols
* ncurses (needed to generate terminfo)
* scdoc (for man page generation)
* scdoc (for man page generation, not needed if documentation is disabled)
* llvm (for PGO builds with Clang)
* [tllist](https://codeberg.org/dnkl/tllist) [^1]
@ -130,11 +130,15 @@ Available compile-time options:
| Option | Type | Default | Description | Extra dependencies |
|-------------------------------|---------|-----------------------|---------------------------------------|--------------------|
| `-Ddocs` | feature | `auto` | Builds and install documentation | scdoc |
| `-Dime` | bool | `true` | Enables IME support | None |
| `-Dgrapheme-clustering` | feature | `auto` | Enables grapheme clustering | libutf8proc |
| `-Dterminfo` | feature | `auto` | Build terminfo files | `tic` (ncurses) |
| `-Dterminfo-install-location` | string | `${datadir}/terminfo` | Where to install the terminfo files | None |
Documentation includes the man pages, the example `foot.ini`, readme,
changelog and license files.
The two `terminfo` options are related, but control different aspects
of how the terminfo files are built, installed and used.

View file

@ -238,20 +238,25 @@ else
terminfo_install_location = 'disabled'
endif
install_data(
'LICENSE', 'README.md', 'CHANGELOG.md',
install_dir: join_paths(get_option('datadir'), 'doc', 'foot'))
install_data(
'foot.desktop', 'foot-server.desktop',
install_dir: join_paths(get_option('datadir'), 'applications'))
install_data('foot.ini', install_dir: join_paths(get_option('datadir'), 'foot'))
scdoc = dependency('scdoc', native: true, required: get_option('docs'))
if scdoc.found()
install_data(
'LICENSE', 'README.md', 'CHANGELOG.md',
install_dir: join_paths(get_option('datadir'), 'doc', 'foot'))
install_data('foot.ini', install_dir: join_paths(get_option('datadir'), 'foot'))
subdir('doc')
endif
subdir('completions')
subdir('doc')
subdir('icons')
summary(
{
'Documentation': scdoc.found(),
'IME': get_option('ime'),
'Grapheme clustering': utf8proc.found(),
'Terminfo': tic.found(),

View file

@ -1,3 +1,5 @@
option('docs', type: 'feature', description: 'Build and install documentation (man pages, example foot.ini, readme, changelog, license etc).')
option('ime', type: 'boolean', value: true, description: 'IME (Input Method Editor) support')
option('grapheme-clustering', type: 'feature',