• Stars
    star
    5,008
  • Rank 7,951 (Top 0.2 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created almost 10 years ago
  • Updated 5 months 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
115
star
2

vscode-meson

Meson for VisualStudio Code
TypeScript
100
star
3

wrapdb

New wrap requests
Meson
62
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

dubtestproject

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

mesonbuild.github.io

Mesonbuild.com web site
HTML
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

cidata

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

libuv

Meson build definitions for libuv
1
star
24

pybind11

Meson build definitions for pybind11
1
star
25

fluidsynth

Meson build definitions for fluidsynth
1
star
26

notcurses

Meson build definitions for notcurses
1
star
27

cpr

Meson build definitions for cpr
1
star
28

arduinocore-avr

Meson build definitions for ArduinoCore-avr
1
star
29

protobuf-c

Meson build definitions for Protobuf C.
1
star
30

mt32emu

Meson build definitions for mt32emu
1
star
31

icu

Meson build files for ICU
1
star
32

gtest

Meson build files for gtest
1
star
33

utf8proc

Meson build definitions for utf8proc
1
star
34

libjpeg-turbo

Meson build definitions for libjpeg-turbo
1
star
35

google-woff2

Meson build definitions for google-woff2
1
star
36

angelscript

Meson build definitions for angelscript
1
star
37

zlib

Wrap definitions for the zlib library
1
star
38

sqlite3

Meson build definitions for sqlite3
1
star
39

sdl2_net

Meson build definitions for sdl2_net
1
star
40

glew

Meson build definitions for glew.
1
star
41

tclap

Meson build definitions for tclap
1
star
42

meson-ci

1
star
43

json

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

sdl2_ttf

Meson build definitions for sdl2_ttf
1
star
45

spng

Meson build definitions for spng
1
star
46

freetype2

Meson build definitions for freetype2
1
star
47

libexif

Meson build definitions for libexif
1
star
48

mpdecimal

Meson build definitions for mpdecimal
1
star
49

json-c

Meson build definitions for json-c
1
star
50

libtiff

Meson build definitions for libtiff
1
star
51

nlohmann_json

Meson build definitions for nlohmann_json
1
star
52

catch2

Meson build definitions for catch2
1
star
53

cmocka

Meson build definitions for cmocka
1
star