short-description: Style recommendations for Meson files ...

Style recommendations

This page lists some recommendations on organizing and formatting your Meson build files.

Tabs or spaces?

Always spaces.

Naming options

There are two ways of naming project options. As an example for booleans the first one is foo and the second one is enable-foo. The former style is recommended, because in Meson options have strong type, rather than being just strings.

You should try to name options the same as is common in other projects. This is especially important for yielding options, because they require that both the parent and subproject options have the same name.

Global arguments

Prefer add_project_arguments to add_global_arguments because using the latter prevents using the project as a subproject.

Cross compilation arguments

Try to keep cross compilation arguments away from your build files as much as possible. Keep them in the cross file instead. This adds portability, since all changes needed to compile to a different platform are isolated in one place.