summaryrefslogtreecommitdiff
path: root/INSTALL.meson
blob: 4040b5479a0f40bf78ca35891906d20f8c67bef7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Installation Instructions
=========================

Requirements
------------
As well as the requirements listed in README, the meson build also requires:
  meson (http://mesonbuild.com)
  ninja (http://ninja-build.org)

Basic Installation
------------------
  meson setup $builddir
  ninja -C $builddir
  ninja -C $builddir install

where $builddir is the name of the directory where the build artifacts
will be written to.

Some of the common options that can be used with "meson setup" include:

Set the install prefix.
  --prefix=<path>

Set the build type. Some common build types include "debug" and "release"
  --buildtype=<buildtype>

Compiler and linker flags can be set with the CFLAGS and LDFLAGS
environment variables.

Configuring cairo backends
--------------------------
After running "meson build", "meson configure" can be used to display
or modify the build configuration.

eg

 Display configuration:
    meson configure $builddir

 Enable pdf and disable ps:
    meson configure $builddir -Dpdf=enabled -Dps=disabled

The "-D" options can also be used with "meson setup"

Tests
-----
Refer to test/README. The main difference with running a test from a
meson build is that the cairo-test-suite executable needs to be run in
$builddir/test to find the image conversion executables but also needs
to be told where the reference images are.

eg
  cd $builddir/test
  srcdir="../../test" ./cairo-test-suite

Where srcdir is the path to the "test" directory in the cairo source. The
above example assumes $builddir is a directory in the cairo source tree.