meson: add -Dsystemd-units-dir=<path> meson command line option

This allows package maintainers to override the location to which our
systemd service files are installed.

It’s value is an *absolute* path, and *not* relative ${prefix}.

The default is ${systemduserunitdir}.
This commit is contained in:
Daniel Eklöf 2022-05-04 17:33:34 +02:00
parent 56e5855fff
commit 62fe452cc2
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
4 changed files with 22 additions and 10 deletions

View file

@ -40,9 +40,11 @@
## Unreleased
### Added
* XDG activation support when opening URLs ([#1058][1058]).
* `-Dsystemd-units-dir=<path>` meson command line option.
[1058]: https://codeberg.org/dnkl/foot/issues/1058

View file

@ -140,15 +140,16 @@ mkdir -p bld/release && cd bld/release
Available compile-time options:
| Option | Type | Default | Description | Extra dependencies |
|--------------------------------------|---------|-----------------------|------------------------------------------------|--------------------|
| `-Ddocs` | feature | `auto` | Builds and install documentation | scdoc |
| `-Dtests` | bool | `true` | Build tests (adds a `ninja test` build target) | none |
| `-Dime` | bool | `true` | Enables IME support | None |
| `-Dgrapheme-clustering` | feature | `auto` | Enables grapheme clustering | libutf8proc |
| `-Dterminfo` | feature | `enabled` | Build and install terminfo files | tic (ncurses) |
| `-Ddefault-terminfo` | string | `foot` | Default value of `TERM` | none |
| `-Dcustom-terminfo-install-location` | string | `${datadir}/terminfo` | Value to set `TERMINFO` to | None |
| Option | Type | Default | Description | Extra dependencies |
|--------------------------------------|---------|-------------------------|-------------------------------------------------------|--------------------|
| `-Ddocs` | feature | `auto` | Builds and install documentation | scdoc |
| `-Dtests` | bool | `true` | Build tests (adds a `ninja test` build target) | none |
| `-Dime` | bool | `true` | Enables IME support | None |
| `-Dgrapheme-clustering` | feature | `auto` | Enables grapheme clustering | libutf8proc |
| `-Dterminfo` | feature | `enabled` | Build and install terminfo files | tic (ncurses) |
| `-Ddefault-terminfo` | string | `foot` | Default value of `TERM` | none |
| `-Dcustom-terminfo-install-location` | string | `${datadir}/terminfo` | Value to set `TERMINFO` to | None |
| `-Dsystemd-units-dir` | string | `${systemduserunitdir}` | Where to install the systemd service files (absolute) | None |
Documentation includes the man pages, readme, changelog and license
files.

View file

@ -252,7 +252,13 @@ if systemd.found()
configuration = configuration_data()
configuration.set('bindir', join_paths(get_option('prefix'), get_option('bindir')))
systemd_units_dir = systemd.get_variable('systemduserunitdir')
custom_units_dir = get_option('systemd-units-dir')
if (custom_units_dir == '')
systemd_units_dir = systemd.get_variable('systemduserunitdir')
else
systemd_units_dir = custom_units_dir
endif
configure_file(
configuration: configuration,
input: 'foot-server@.service.in',

View file

@ -18,3 +18,6 @@ option('default-terminfo', type: 'string', value: 'foot',
option('custom-terminfo-install-location', type: 'string', value: '',
description: 'Path to foot\'s terminfo, relative to ${prefix}. If set, foot will set $TERMINFO to this value in the client process.')
option('systemd-units-dir', type: 'string', value: '',
description: 'Where to install the systemd service files (absolute path). Default: ${systemduserunitdir}')