| --- | |
| render-subpages: false | |
| ... | |
| # 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++, 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](SimpleStart.md) to get started. | |
| ## Tutorials | |
| - [Get it](Getting-meson.md) | |
| - [Build a Gtk app from scratch](Tutorial.md) | |
| - [Build a SDL app from scratch](GuiTutorial.md) | |
| - [How do I do X in Meson?](howtox.md) | |
| ## Manual | |
| - [Usage manual](Manual.md) | |
| - [API reference manual](Reference-manual.md) | |
| - [Modules documentation](Modules.md) | |
| - [Frequently Asked Questions](FAQ.md) | |
| - [Release Notes](Release-notes.md) | |
| ## 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](https://app.element.io/#/room/#mesonbuild:matrix.org)) or | |
| [OFTC IRC](https://www.oftc.net/). | |
| For general discussion, please use the | |
| [Discussions](https://github.com/mesonbuild/meson/discussions) section | |
| of the Meson GitHub repository. | |
| ### Development | |
| All development on Meson is done on the [GitHub | |
| project](https://github.com/mesonbuild/meson). Instructions for | |
| contributing can be found on the [contribution page](Contributing.md). | |
| You do not need to sign a CLA to contribute to Meson. | |
| The release process is separately covered at [Releasing](Releasing.md). | |
| ### [Projects using Meson](Users.md) | |
| 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](Users.md) | |
| but there are many more. We would love to hear about your success | |
| stories too and how things could be improved too! |