The Meson Build system

Overview

Meson is an open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible.

The main design point of Meson is that every moment a developer spends writing or debugging build definitions is a second wasted. So is every second spent waiting for the build system to actually start compiling code.

Features

  • multiplatform support for Linux, macOS, Windows, GCC, Clang, Visual Studio and others
  • supported languages include C, C++, D, Fortran, Java, Rust
  • build definitions in a very readable and user friendly non-Turing complete DSL
  • cross compilation for many operating systems as well as bare metal
  • optimized for extremely fast full and incremental builds without sacrificing correctness
  • built-in multiplatform dependency provider that works together with distro packages
  • fun!

Quickstart for beginners

Are you an absolute beginner when it comes to programming? No worries, read this beginner guide to get started.

Community

The easiest way for most people to connect to other Meson developers is a web chat. The channel to use is #mesonbuild either via Matrix (web interface) or OFTC IRC.

Other methods of communication include the mailing list (hosted by Google Groups) and the Discussions section of the Meson GitHub repository.

Projects using Meson

Many projects are using Meson and they're a great resource for learning what to (and what not to!) do when converting existing projects to Meson.

A short list of Meson users can be found here but there are many more. We would love to hear about your success stories too and how things could be improved too!

Development

All development on Meson is done on the GitHub project. Instructions for contributing can be found on the contribution page.

You do not need to sign a CLA to contribute to Meson.

Subpages:

The Absolute Beginner's Guide to Installing and Using Meson – Simple getting started guide

Getting Meson

Quickstart Guide – Getting Started using Mesonbuild

Tutorial – Simplest tutorial

Building a simple SDL2 app from scratch – A simple GUI tutorial

Manual – User manual for Meson

Reference manual – The Meson reference manual

Reference tables

Style recommendations – Style recommendations for Meson files

Meson file rewriter – Automatic modification of the build system files

FAQ

Reproducible builds

How do I do X in Meson?

Meson WrapDB packages

Wrap dependency system manual

Release notes

Additional documentation – Misc documentation

Contributing to Meson – Contributing to Meson

Legal information

Videos – Videos about Meson

The results of the search are