• Stars
    star
    5,008
  • Rank 8,331 (Top 0.2 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 10 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Meson Build System

Mesonยฎ is a project to create the best possible next-generation build system.

Status

PyPI Build Status Codecov

Dependencies

  • Python (version 3.7 or newer)
  • Ninja (version 1.8.2 or newer)

Latest Meson version supporting previous Python versions:

  • Python 3.6: 0.61.5
  • Python 3.5: 0.56.2
  • Python 3.4: 0.45.1

Installing from source

Meson is available on PyPi, so it can be installed with pip3 install meson. The exact command to type to install with pip can vary between systems, be sure to use the Python 3 version of pip.

If you wish you can install it locally with the standard Python command:

python3 -m pip install meson

For builds using Ninja, Ninja can be downloaded directly from Ninja GitHub release page or via PyPi

python3 -m pip install ninja

More on Installing Meson build can be found at the getting meson page.

Creating a standalone script

Meson can be run as a Python zip app. To generate the executable run the following command:

./packaging/create_zipapp.py --outfile meson.pyz --interpreter '/usr/bin/env python3' <source checkout>

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 setup <source directory> <build directory>

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.

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>
meson setup builddir

To compile, cd into your build directory and type ninja. To run unit tests, type ninja test.

More on running Meson build system commands can be found at the running meson page or by typing meson --help.

Contributing

We love code contributions. See the contribution page on the website for details.

IRC

The channel to use is #mesonbuild either via Matrix (web interface) or OFTC IRC.

Further info

More information about the Meson build system can be found at the project's home page.

Meson is a registered trademark of Jussi Pakkanen.

More Repositories

1

meson-python

Meson PEP 517 Python build backend
Python
128
star
2

vscode-meson

Meson for VisualStudio Code
TypeScript
105
star
3

wrapdb

New wrap requests
Meson
71
star
4

mesonwrap

Meson wraps service and tools, please use https://github.com/mesonbuild/wrapdb for wraps issues
Python
26
star
5

sdl2

Meson build files for SDL2
4
star
6

wrapdevtools

Python
4
star
7

imgui

Meson build definitions for imgui
4
star
8

mesonbuild.github.io

Mesonbuild.com web site
HTML
3
star
9

dubtestproject

A project used for testing Dub dependency downloads
D
3
star
10

abseil-cpp

Meson build definitions for abseil-cpp
3
star
11

libopenjp2

Meson build definitions for libopenjp2
2
star
12

libxml2

Meson build files for libxml2
2
star
13

re2

Meson build definitions for re2
2
star
14

libpng

Meson build files for libpng
2
star
15

lua

Meson build files for Lua
2
star
16

sqlite

Meson build files for SQLite
2
star
17

ogg

Meson build files for libogg
2
star
18

liblbfgs

Meson build definitions for liblbfgs
1
star
19

sfml

Meson build definitions for sfml
1
star
20

rdkafka

Meson build definitions for rdkafka
1
star
21

catchorg-clara

Meson build definitions for catchorg-clara
1
star
22

fluidsynth

Meson build definitions for fluidsynth
1
star
23

notcurses

Meson build definitions for notcurses
1
star
24

cpr

Meson build definitions for cpr
1
star
25

arduinocore-avr

Meson build definitions for ArduinoCore-avr
1
star
26

protobuf-c

Meson build definitions for Protobuf C.
1
star
27

pybind11

Meson build definitions for pybind11
1
star
28

icu

Meson build files for ICU
1
star
29

utf8proc

Meson build definitions for utf8proc
1
star
30

cidata

Binary data files needed by CI, but which can not be in the master repo
PowerShell
1
star
31

libjpeg-turbo

Meson build definitions for libjpeg-turbo
1
star
32

google-woff2

Meson build definitions for google-woff2
1
star
33

angelscript

Meson build definitions for angelscript
1
star
34

zlib

Wrap definitions for the zlib library
1
star
35

libuv

Meson build definitions for libuv
1
star
36

sqlite3

Meson build definitions for sqlite3
1
star
37

libexif

Meson build definitions for libexif
1
star
38

sdl2_net

Meson build definitions for sdl2_net
1
star
39

glew

Meson build definitions for glew.
1
star
40

tclap

Meson build definitions for tclap
1
star
41

gtest

Meson build files for gtest
1
star
42

freetype2

Meson build definitions for freetype2
1
star
43

meson-ci

1
star
44

json

Meson build definitions for json (deprecated: use nlohmann_json)
1
star
45

sdl2_ttf

Meson build definitions for sdl2_ttf
1
star
46

spng

Meson build definitions for spng
1
star
47

libtiff

Meson build definitions for libtiff
1
star
48

mpdecimal

Meson build definitions for mpdecimal
1
star
49

catch2

Meson build definitions for catch2
1
star
50

nlohmann_json

Meson build definitions for nlohmann_json
1
star
51

mt32emu

Meson build definitions for mt32emu
1
star
52

cmocka

Meson build definitions for cmocka
1
star
53

json-c

Meson build definitions for json-c
1
star