123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- .TH MESON "1" "December 2017" "meson 0.44.0" "User Commands"
- .SH NAME
- meson - a high productivity build system
- .SH DESCRIPTION
- Meson is a build system designed to optimize programmer
- 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 setup [
- .I options
- .B ] [
- .I source directory
- .B ] [
- .I build directory
- .B ]
- Note that the build directory must be different from the source
- directory. Meson does not support building inside the source directory
- and attempting to do that leads to an error.
- After a successful configuration step you can build the source by
- running the actual build command in the build directory. The default
- backend of Meson is Ninja, which can be invoked like this.
- \fBninja [\fR \fItarget\fR \fB]\fR
- You only need to run the Meson command once: when you first configure
- 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
- print version number
- .TP
- \fB\-\-help\fR
- print command line help
- .SH The configure command
- .B meson configure
- 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,
- .B meson configure
- 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
- .B meson test
- 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
- .B meson test
- 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/
|