The Absolute Beginner's Guide to Installing and Using Meson

Getting Meson

获取Meson

Obtendo o Meson

Quickstart Guide

Tutorial

Building a simple SDL2 app from scratch

Manual

Overview

Running Meson

Command-line commands

Built-in options

Using with Visual Studio

Meson sample

Syntax

Cross and Native File reference

Persistent native environments

Build targets

Include directories

Installing

Adding arguments

Configuration

Compiler properties

Dependencies

Threads

External commands

Precompiled headers

Unity builds

Feature autodetection

Generating sources

Unit tests

Cross compilation

Localisation

Build options

Subprojects

Disabling parts of the build

clang-format

Modules

CMake module

Unstable CUDA Module

Dlang module

External Project module

FS (filesystem) module

GNOME module

Hotdoc module

Unstable IceStorm module

Java Module

keyval module

Pkgconfig module

Python 3 module

Python module

Qt4 module

Qt5 module

Qt6 module

Rust module

Unstable SIMD module

Source set module

Windows module

I18n module

Wayland Module

Java

Vala

D

Cython

Rust

IDE integration

Custom build targets

Build system converters

Configuring a build directory

Run targets

Creating releases

Creating OSX packages

Creating Linux binaries

Project templates

Reference manual

Builtin objects

build_machine

host_machine

meson

target_machine

Elementary types

any

bool

dict

int

list

str

void

Functions

Returned objects

Alias target

Both libraries object

Build target

Configuration data object

Compiler object

Custom target index

Custom target

Dependency object

Disabler

Environment

Executable target

External program

Extracted object file

Feature option object

File

Generated list object

Generator object

Include directories

JAR build target

Library target

Imported module object

Range object

Run target

Run result object

Structured Source

Subproject object

Meson Target

Reference tables

Style recommendations

Meson file rewriter

FAQ

Reproducible builds

How do I do X in Meson?

Meson WrapDB packages

Wrap dependency system manual

Adding new projects to WrapDB

Using the WrapDB

Using wraptool

Wrap best practices and tips

Shipping prebuilt binaries as wraps

Release notes

Release 1.9.0 (in development)

Release 1.8.0

Release 1.7.0

Release 1.6.0

Release 1.5.0

Release 1.4.0

Release 1.3.0

Release 1.2.0

Release 1.1.0

Release 1.0.0

Release 0.64.0

Release 0.63.0

Release 0.62.0

Release 0.61.0

Release 0.60.0

Release 0.59.0

Release 0.58.0

Release 0.57.0

Release 0.56.0

Release 0.55.0

Release 0.54.0

Release 0.53.0

Release 0.52.0

Release 0.51.0

Release 0.50.0

Release 0.49

Release 0.48

Release 0.47

Release 0.46

Release 0.45

Release 0.44

Release 0.43

Release 0.42

Release 0.41

Release 0.40

Release 0.39

Release 0.38

Release 0.37

Additional documentation

Release procedure

Performance comparison

Arm performance test

A simple comparison

Comparisons

Conference presentations on Meson

Contact information

Continuous Integration

Design rationale

Donating to support Meson development

An in-depth tutorial

In the press

Meson's policy on mixing multiple build systems in one build directory

Pkg config files

playground

Porting from Autotools

Use of Python

Users

Using multiple build directories

Visual Studio's external build projects

Contributing to Meson

YAML Reference manual

Meson CI setup

Releasing a new Meson version

Legal information

Videos