|
|
|
@ -8,11 +8,16 @@ productivity. It aims to do this by providing simple, out-of-the-box |
|
|
|
|
support for modern software development tools and practices, such as |
|
|
|
|
unit tests, coverage reports, Valgrind, CCache and the like. |
|
|
|
|
|
|
|
|
|
The main Meson executable provides many subcommands to access all |
|
|
|
|
the functionality. |
|
|
|
|
|
|
|
|
|
.SH The setup command |
|
|
|
|
|
|
|
|
|
Using Meson is simple and follows the common two-phase |
|
|
|
|
process of most build systems. First you run Meson to |
|
|
|
|
configure your build: |
|
|
|
|
|
|
|
|
|
.B meson [ |
|
|
|
|
.B meson setup [ |
|
|
|
|
.I options |
|
|
|
|
.B ] [ |
|
|
|
|
.I source directory |
|
|
|
@ -35,6 +40,19 @@ your build dir. After that you just run the build command. Meson will |
|
|
|
|
autodetect changes in your source tree and regenerates all files |
|
|
|
|
needed to build the project. |
|
|
|
|
|
|
|
|
|
The setup command is the default operation. If no actual command is |
|
|
|
|
specified, Meson will assume you meant to do a setup. That means |
|
|
|
|
that you can set up a build directory without the setup command |
|
|
|
|
like this: |
|
|
|
|
|
|
|
|
|
.B meson [ |
|
|
|
|
.I options |
|
|
|
|
.B ] [ |
|
|
|
|
.I source directory |
|
|
|
|
.B ] [ |
|
|
|
|
.I build directory |
|
|
|
|
.B ] |
|
|
|
|
|
|
|
|
|
.SS "options:" |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-version\fR |
|
|
|
@ -42,5 +60,146 @@ print version number |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-help\fR |
|
|
|
|
print command line help |
|
|
|
|
|
|
|
|
|
.SH The configure command |
|
|
|
|
|
|
|
|
|
Mesonconf provides a way to configure a Meson |
|
|
|
|
project from the command line. Its usage is simple. |
|
|
|
|
|
|
|
|
|
.B meson configure [ |
|
|
|
|
.I build directory |
|
|
|
|
.B ] [ |
|
|
|
|
.I options to set |
|
|
|
|
.B ] |
|
|
|
|
|
|
|
|
|
If build directory is omitted, the current directory is used instead. |
|
|
|
|
|
|
|
|
|
If no parameters are set, mesonconf will print the value of all build |
|
|
|
|
options to the console. |
|
|
|
|
|
|
|
|
|
To set values, use the \-D command line argument like this. |
|
|
|
|
|
|
|
|
|
.B meson configure \-Dopt1=value1 \-Dopt2=value2 |
|
|
|
|
|
|
|
|
|
.SH The introspect command |
|
|
|
|
|
|
|
|
|
Meson introspect is a command designed to make it simple to integrate with |
|
|
|
|
other tools, such as IDEs. The output of this command is in JSON. |
|
|
|
|
|
|
|
|
|
.B meson introspect [ |
|
|
|
|
.I build directory |
|
|
|
|
.B ] [ |
|
|
|
|
.I option |
|
|
|
|
.B ] |
|
|
|
|
|
|
|
|
|
If build directory is omitted, the current directory is used instead. |
|
|
|
|
|
|
|
|
|
.SS "options:" |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-targets\fR |
|
|
|
|
print all top level targets (executables, libraries, etc) |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-target\-files\fR |
|
|
|
|
print the source files of the given target |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-buildsystem\-files\fR |
|
|
|
|
print all files that make up the build system (meson.build, meson_options.txt etc) |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-tests\fR |
|
|
|
|
print all unit tests |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-help\fR |
|
|
|
|
print command line help |
|
|
|
|
|
|
|
|
|
.SH The test command |
|
|
|
|
|
|
|
|
|
Mesontest is a helper tool for running test suites of projects using Meson. |
|
|
|
|
The default way of running tests is to invoke the default build command: |
|
|
|
|
|
|
|
|
|
\fBninja [\fR \fItest\fR \fB]\fR |
|
|
|
|
|
|
|
|
|
Mesontest provides a richer set of tools for invoking tests. |
|
|
|
|
|
|
|
|
|
.SS "options:" |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-repeat\fR |
|
|
|
|
run tests as many times as specified |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-gdb\fR |
|
|
|
|
run tests under gdb |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-list\fR |
|
|
|
|
list all available tests |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-wrapper\fR |
|
|
|
|
invoke all tests via the given wrapper (e.g. valgrind) |
|
|
|
|
.TP |
|
|
|
|
\fB\-C\fR |
|
|
|
|
Change into the given directory before running tests (must be root of build directory). |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-suite\fR |
|
|
|
|
run tests in this suite |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-no\-suite\fR |
|
|
|
|
do not run tests in this suite |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-no\-stdsplit\fR |
|
|
|
|
do not split stderr and stdout in test logs |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-benchmark\fR |
|
|
|
|
run benchmarks instead of tests |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-logbase\fR |
|
|
|
|
base of file name to use for writing test logs |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-num-processes\fR |
|
|
|
|
how many parallel processes to use to run tests |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-verbose\fR |
|
|
|
|
do not redirect stdout and stderr |
|
|
|
|
.TP |
|
|
|
|
\fB\-t\fR |
|
|
|
|
a multiplier to use for test timeout values (usually something like 100 for Valgrind) |
|
|
|
|
.TP |
|
|
|
|
\fB\-\-setup\fR |
|
|
|
|
use the specified test setup |
|
|
|
|
|
|
|
|
|
.SH The wrap command |
|
|
|
|
|
|
|
|
|
Wraptool is a helper utility to manage source dependencies |
|
|
|
|
using the online wrapdb service. |
|
|
|
|
|
|
|
|
|
.B meson wrap < |
|
|
|
|
.I command |
|
|
|
|
.B > [ |
|
|
|
|
.I options |
|
|
|
|
.B ] |
|
|
|
|
|
|
|
|
|
You should run this command in the top level source directory |
|
|
|
|
of your project. |
|
|
|
|
|
|
|
|
|
.SS "Commands:" |
|
|
|
|
.TP |
|
|
|
|
\fBlist\fR |
|
|
|
|
list all available projects |
|
|
|
|
.TP |
|
|
|
|
\fBsearch\fR |
|
|
|
|
search projects by name |
|
|
|
|
.TP |
|
|
|
|
\fBinstall\fR |
|
|
|
|
install a project with the given name |
|
|
|
|
.TP |
|
|
|
|
\fBupdate\fR |
|
|
|
|
update the specified project to latest available version |
|
|
|
|
.TP |
|
|
|
|
\fBinfo\fR |
|
|
|
|
show available versions of the specified project |
|
|
|
|
.TP |
|
|
|
|
\fBstatus\fR |
|
|
|
|
show installed and available versions of currently used subprojects |
|
|
|
|
|
|
|
|
|
.SH SEE ALSO |
|
|
|
|
|
|
|
|
|
http://mesonbuild.com/ |
|
|
|
|
|
|
|
|
|
https://wrapdb.mesonbuild.com/ |
|
|
|
|