Which Projects Use Meson, and Can You Learn From Their Build Setups?
Updated
Yes. The Meson website points to real projects using Meson as a learning resource, and it explicitly frames them as examples of "what to (and what not to!) do" when converting existing projects. That makes them useful references if you are evaluating a migration. The site also invites users to share success stories and improvement suggestions, so the project list is not presented as exhaustive.
What the site actually offers
The mesonbuild.com homepage has a section titled "Projects using Meson." Its key claims:
- Many projects use Meson.
- They are "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 on a linked page, "but there are many more."
- The project welcomes hearing about success stories and how things could be improved.
So the site gives you a starting point (a short list) rather than a complete registry. Treat it as a curated entry point, not a census.
How to use those projects as migration references
If you are deciding whether to migrate an existing build to Meson, the listed projects are most valuable when you read them for patterns, not just for confirmation that Meson works at scale.
| What to look at | Why it matters for your migration |
|---|---|
meson.build structure at the top level |
Shows how a real project splits configuration, dependencies, and targets |
| Subproject usage | Reveals how larger codebases compose internal and external components |
| Cross-compilation files | Useful if you target multiple operating systems or bare metal |
| Dependency handling | Shows how projects wire in distro packages via Meson's dependency provider |
| Language mix | Confirms whether your language combination is already exercised in practice |
The site's own feature list is relevant here: Meson supports Linux, macOS, Windows, GCC, Clang, Visual Studio and others; languages include C, C++, C#, D, Fortran, Java, and Rust; it supports cross compilation for many operating systems and bare metal. A reference project that matches your platform and language mix will teach you more than a generic tutorial.
A practical way to learn from a listed project
- Pick a project from the site's user list whose language and platform profile resembles yours.
- Clone it and read the root
meson.buildfirst — this is where project-wide options and dependencies are usually declared. - Trace one build target from definition to output, noting how sources, include directories, and dependencies are attached.
- Compare its dependency declarations against how your current build finds the same libraries.
- Note anything the project does that looks like a workaround — the site's "what not to do" framing suggests these exist and are worth recognizing.
Expected result: you finish with a concrete sense of how much of your current build logic maps cleanly onto Meson's DSL, and where you would need custom handling.
Common sticking points
- The list is short and not exhaustive. The site says there are many more users than the linked list shows, so absence from the list does not mean a project does not use Meson.
- Reading a project is not the same as reading documentation. For syntax and API questions, the site separates these: the Manual (usage manual, API reference manual, modules documentation), Reference manual, Reference tables, Style recommendations, and the Meson file rewriter for automatic modifications.
- Migration lessons are implicit. The site does not publish per-project migration write-ups; you infer practices from the build files themselves.
- Beginner material is separate. If you are new to Meson entirely, the site offers "The Absolute Beginner's Guide to Installing and Using Meson," a Quickstart Guide, and a "Mesonbuild Tutorial – Simplest tutorial" before you dive into real projects.
Where to go next
- Project list: the "Projects using Meson" section on mesonbuild.com links to a short list of users.
- Getting Meson / Quickstart: for installation and first build.
- Tutorials: "Build a Gtk app from scratch" and "Build a SDL app from scratch" for end-to-end examples.
- Manual and reference: for exact syntax and API behavior once you start writing your own
meson.build. - Community:
#mesonbuildon Matrix or OFTC IRC for chat, and the Discussions section of the Meson GitHub repository for general discussion. Development happens on the GitHub project, and contributing does not require signing a CLA.
If your goal is a migration decision, the most efficient path is: read one or two listed projects that match your stack, then check the Manual for anything their build files do that you do not understand.