meson/README.md

80 lines
2.4 KiB
Markdown
Raw Normal View History

2016-02-24 06:40:05 +08:00
<p align="center">
<img src="http://mesonbuild.com/meson_logo.png">
</p>
Meson® is a project to create the best possible next-generation
build system.
2016-05-27 02:57:11 +08:00
####Build status
2016-06-14 05:16:31 +08:00
[![Build Status](https://travis-ci.org/mesonbuild/meson.svg?branch=master)](https://travis-ci.org/mesonbuild/meson) [![Build status](https://ci.appveyor.com/api/projects/status/l5c8v71ninew2i3p?svg=true)](https://ci.appveyor.com/project/jpakkane/meson)
2016-05-27 02:57:11 +08:00
2016-02-24 06:40:05 +08:00
####Dependencies
2016-02-29 05:37:36 +08:00
- [Python](http://python.org) (version 3.4 or newer)
- [Ninja](http://martine.github.com/ninja/)
2016-02-24 06:40:05 +08:00
####Installing from source
2016-02-29 05:37:36 +08:00
2016-02-24 06:40:05 +08:00
You can run Meson directly from a revision control checkout or an
2016-02-29 05:45:10 +08:00
extracted tarball. If you wish you can install it locally with the
standard Python distutils command `python3 setup.py install <your
options here>`.
2016-02-29 05:37:36 +08:00
Meson is also available from
[PyPi](https://pypi.python.org/pypi/meson), so it can be installed
2016-03-20 20:25:58 +08:00
with `pip3 install meson` (this does not require a source checkout,
pip will download the package automatically). The exact command to
type to install with pip can very between systems, be sure to use the
Python 3 version of pip.
2016-02-24 06:40:05 +08:00
####Running
Meson requires that you have a source directory and a build directory
and that these two are different. In your source root must exist a file
called 'meson.build'. To generate the build system run this command:
`meson <source directory> <build directory>`
2016-03-25 00:13:32 +08:00
Depending on how you obtained Meson the command might also be called
`meson.py` instead of plain `meson`. In the rest of this document we
are going to use the latter form.
2016-02-24 06:40:05 +08:00
You can omit either of the two directories, and Meson will substitute
the current directory and autodetect what you mean. This allows you to
do things like this:
`cd source_root; mkdir build; cd build; meson ..`
2016-02-29 05:38:34 +08:00
2016-02-29 05:45:10 +08:00
or
2016-02-24 06:40:05 +08:00
`cd source_root; mkdir build; meson build`
To compile, cd into your build directory and type `ninja`. To run unit
tests, type `ninja test`.
Install is the same but it can take an extra argument:
`DESTDIR=/destdir/path ninja install`
`DESTDIR` can be omitted. If you are installing to system directories,
you may need to run this command with sudo.
####Contributing
We love code contributions. See the contributing.txt file for
details.
2016-02-29 05:38:34 +08:00
####IRC
2016-02-24 06:40:05 +08:00
2016-02-29 05:37:36 +08:00
The irc channel for Meson is `#mesonbuild` over at Freenode.
2016-02-24 06:40:05 +08:00
####Further info
2016-02-29 05:37:36 +08:00
More information about the Meson build system can be found at the
[project's home page](http://mesonbuild.com).
2016-02-24 06:40:05 +08:00
Meson is a registered trademark of Jussi Pakkanen