dbus/INSTALL
Simon McVittie 4325a0fcc8 Continue to recommend CMake when building on Windows
In the longer term I'd like to move everything towards Meson so we only
have one primary build system, but at the moment Ralf would prefer to
keep recommending CMake for Windows builds (see dbus!378) so let's
stick with that for now.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-08-15 13:06:18 +01:00

104 lines
3.1 KiB
Text

DBus Installation
=================
Quick start
===========
This branch of dbus can be built by using Meson, GNU Autotools or CMake.
The Meson build system is the recommended build system for the master
branch (versions >= 1.15.0), except when building on Windows, for which
CMake is recommended (this recommendation might change to Meson in future).
Meson only supports out-of-tree builds, and must be passed a directory to put
built and generated sources into. We'll call that directory "build" here. It's
recommended to create a separate build directory for each configuration you
might want to use.
Basic configuration is done with:
``` sh
meson build/
```
This will create the build directory. If any dependencies are missing, you can
install them, or try to remove the dependency with a Meson configuration option
(see below).
Older versions of dbus required Autotools or CMake, with Autotools
recommended for Unix systems and CMake recommended for Windows systems.
Configuration flags
===================
When using Meson, to review the options which Meson chose, run:
``` sh
meson configure build/
```
With additional arguments meson configure can be used to change options for a
previously configured build directory. All options passed to this command are in
the form `-D "option"="value"`. For example:
``` sh
meson configure build/ -Dprefix=/tmp/install
```
See `meson_options.txt` for details of dbus-specific options, and
<https://mesonbuild.com/Builtin-options.html> for details of generic
Meson options.
When using Autotools, run "./configure --help" to see the possible
configuration options and environment variables.
When using CMake, inspect README.cmake to see the possible
configuration options and environment variables.
Building
========
To build with meson, here is a quick guide:
``` sh
cd dbus
meson setup build/ && cd build/
meson compile
meson test
```
Full build instructions can be found on mesonbuild website:
https://mesonbuild.com/Running-Meson.html
The CMake equivalent is:
mkdir dbus-build-dir
cd dbus-build-dir
cmake -G <makefile-generator-name> [-D<option>] <dbus-src-root>/cmake
make
make install
See README.cmake for more details.
External software dependencies
==============================
Required:
- expat
Optional:
- libapparmor (for AppArmor LSM integration on Linux)
- libaudit (for AppArmor/SELinux audit logging on Linux)
- libcap-ng (for capabilities management on Linux)
- libselinux (for SELinux LSM integration on Linux)
- libsystemd (for logging, socket activation and session tracking on Linux)
- libX11 (for X11 autolaunching on Unix platforms)
- doxygen (for API documentation)
- xsltproc (for Spec & other XML documentation)
- Docbook XSL stylesheets (for Spec & other XML documentation)
- ducktype (for additional documentation)
- qhelpgenerator (for additional documentation)
- yelp-build (for additional documentation)
- GLib (for improved test coverage)
- Python 3 (for improved test coverage)