FVWM3 prefers meson
as its build tool chain, but provides autotools
as a
legacy fallback on older systems.
The fvwm3
repository has a Dockerfile which can be used to build the
repository. This is the same Docker image as used by Github Actions.
FVWM3 has the following dependencies. Note that across different distributions, the development package names will differ. The names listed below are examples to help you find the appropriately named package for the system in use.
- libevent-dev (>= 2.0)
- libfontconfig-dev
- libfreetype6-dev
- libx11-dev
- libxext-dev
- libxft-dev
- libxkbcommon-dev
- libxrandr-dev (>= 1.5)
- libxrender-dev
- libxt-dev
- xtrans-dev
- asciidoctor
- golang
- libfribidi-dev
- libncurses5-dev
- libpng-dev
- libreadline-dev
- librsvg-dev
- libsm-dev
- libxcursor-dev
- libxfixes-dev
- libxi-dev
- libxpm-dev
- sharutils
fvwm3
won't compile documentation by default, so it's opt-in.
To generate fvwm3
's documentation:
- Install
asciidoctor
- To generate manpages: pass
-Dhtmldoc=true
tomeson
- To generate HTML docs: pass
-Dmandoc=true
tomeson
fvwm3
has traditionally been using autotools. However, this is now
deprecated in favour of meson
. It is suggested that all systems which
support meson
use this instead as it is now the preferred build system to
use.
The autotools
build system remains to provide legacy support but is not
going to see any updates to it.
./autogen.sh && ./configure && make && sudo make install
meson setup build && ninja -C build && ninja -C build install
Release tarballs will come bundled with ./configure
already, hence:
./configure && make && sudo make install
meson setup build && ninja -C build && meson install -C build