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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
Quickstart
==========
For basic build instructions that should work for most users, see the README.
Configuration
=============
If any of Waffle's dependencies are installed in custom locations, you must
set the PKG_CONFIG_PATH environment variable.
To configure Waffle, invoke CMake as `cmake [options] $WAFFLE_SOURCE_DIR`.
Options are given in form `-Dname=value`. CMake stores its configuration in a
top-level file named CMakeCache.txt. To edit cached variables, either edit the
file by hand or call `make edit_cache`.
CMake builtin options:
CMake has many builtin options. Here is a small subset of important
options that affect Waffle.
- CMAKE_INSTALL_PREFIX
[default=/usr/local]
Equivalent to autoconf's --prefix.
- CMAKE_INSTALL_INCLUDEDIR
[default=include]
Equivalent to autoconf's --includedir.
Relative paths are interpreted relative to CMAKE_INSTALL_PREFIX.
- CMAKE_INSTALL_LIBDIR
[default=lib or lib64, system-dependent]
Equivalent to autoconf's --libdir.
Relative paths are interpreted relative to CMAKE_INSTALL_PREFIX.
- CMAKE_INSTALL_DOCDIR
[default=${CMAKE_INSTALL_DATAROOTDIR}/doc/waffle-${MAJOR_VERSION}]
Equivalent to autoconf's --docdir.
Relative paths are interpreted relative to CMAKE_INSTALL_PREFIX.
- CMAKE_BUILD_TYPE
[default=?; choices=debug,release]
This affects compilation flags.
- CMAKE_C_FLAGS
[default="--std=c99 -Wall -Werror"]
- CMAKE_C_FLAGS_DEBUG
[default="-g3 -O0 -DDEBUG"]
Flags to append to CMAKE_C_FLAGS when CMAKE_BUILD_TYPE=debug.
- CMAKE_C_FLAGS_RELEASE
[default="-g1 -O2 -DNEDEBUG"]
Flags to append to CMAKE_C_FLAGS when CMAKE_BUILD_TYPE=release.
Platform options;
- waffle_has_gbm
[default=0] [choices=0,1]
Build Waffle with support for GBM.
- waffle_has_glx
[default=0] [choices=0,1]
Build Waffle with support for GLX.
- waffle_has_wayland
[default=0] [choices=0,1]
Build Waffle with support for Wayland.
- waffle_has_x11_egl
[default=0] [choices=0,1]
Build Waffle with support for X11/EGL.
Miscellaneous options:
- waffle_build_manpages
[default=0; choices=0,1]
Build and install the manpages.
- waffle_build_htmldocs
[default=0; choices=0,1]
Build and install html documentation.
- waffle_build_tests
[default=1; choices=0,1]
Build the unit tests and functional tests ran by `make check` and
`make check-func`.
- waffle_build_examples
[default=1; choices=0,1]
Build the stuff in the /examples directory.
Building and Installing
=======================
To build and install Waffle:
make
make install
I strongly recommend you run `make check` before installing.
What follows is a list of significant build targets.
Generic targets:
- all
Build everything.
- check
Run unit tests.
- check-func
Run functional tests as well as unit tests.
- install
Libraries:
- waffle
Waffle's main library.
- waffle_test
Waffle's test framework.
Test programs:
- waffle-unittest
- gl_basic_test
Example programs:
- gl_basic
- simple-x11-egl
CMake targets:
- help
List all make targets.
- edit_cache
Edit CMakeCache.txt.
- rebuild_cache
|