aboutsummaryrefslogtreecommitdiff
path: root/man/meson.1
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-08-05 00:19:51 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2017-08-05 00:19:51 +0300
commitd82c7e3c23ce6f3b0b68aea034c3f9d4d7b68935 (patch)
tree71ee3fd4f879315941e804059b74b33f69826095 /man/meson.1
parent2817fcf2f3baef4171f30dd5e046054217d15bf3 (diff)
downloadmeson-d82c7e3c23ce6f3b0b68aea034c3f9d4d7b68935.zip
meson-d82c7e3c23ce6f3b0b68aea034c3f9d4d7b68935.tar.gz
meson-d82c7e3c23ce6f3b0b68aea034c3f9d4d7b68935.tar.bz2
Update man pages.
Diffstat (limited to 'man/meson.1')
-rw-r--r--man/meson.1161
1 files changed, 160 insertions, 1 deletions
diff --git a/man/meson.1 b/man/meson.1
index 1cd60b6..086f88b 100644
--- a/man/meson.1
+++ b/man/meson.1
@@ -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/