diff --git a/CHANGELOG.md b/CHANGELOG.md index cf54368d..b03f3f69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,9 +40,11 @@ ## Unreleased + ### Added * XDG activation support when opening URLs ([#1058][1058]). +* `-Dsystemd-units-dir=` meson command line option. [1058]: https://codeberg.org/dnkl/foot/issues/1058 diff --git a/INSTALL.md b/INSTALL.md index 1ce5260e..ae0598d8 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -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. diff --git a/meson.build b/meson.build index 7280a049..e6f4f530 100644 --- a/meson.build +++ b/meson.build @@ -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', diff --git a/meson_options.txt b/meson_options.txt index 255ca0ae..0c660a75 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -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}')