muon(1) | General Commands Manual | muon(1) |
muon - a meson-compatible build system
muon [-vh] [-C <chdir>] <command> [<args>]
muon setup
[-D[subproject:]option=value...] build
cd build
<invoke backend build tool>
muon test [options]
muon install [options]
muon interprets source files written in the meson dsl and produces buildfiles for a backend. Currently the only supported backend is ninja.
When building meson projects with muon, you typically first start by running the setup command in the project root. This will create buildfiles for the backend in the build dir you specify. You then invoke the backend, e.g.
ninja -C <build dir>
If the project defines tests, you may run them with the test subcommand, and finally install the project with the install subcommand.
muon requires a command.
All commands accept a -h option which prints a brief summary of their usage.
Run a static analyzer on the current project.
OPTIONS:
Check if filename parses.
OPTIONS:
Format a source file. The formatting is currently minimally configurable, and is based on the official meson style guide <https://mesonbuild.com/Style-guide.html>.
OPTIONS:
CONFIGURATION OPTIONS
key | type | default | description |
max_line_len | uint | 80 | The maximum length of lines before they are split |
indent_by | str | ' ' | A string that will be used to indent with |
space_array | bool | false | Whether to include spaces around array elements (ex. [1] vs [ 1 ]) |
kwa_ml | bool | false | Make every dictionary literal and function call with kwargs expand into multiple lines. |
wide_colon | bool | false | Whether to put a space before the colon operator (ex. `key : val`) |
no_single_comma_function | bool | false | Don't add a trailing comma to multi-line function calls with only one argument. |
Installs the project. The DESTDIR environment variable is respected and will prefix all installation directories if it is present.
OPTIONS:
Internal contains several subcommands used by muon internally. These commands are subject to change at any time and this should not be relied upon.
SUBCOMMANDS:
Interpret a source file. The interpreter environment is substantially different from the typical environment during setup. Build related functions are unavailable, as well as many other functions including subdir. Additionally, the variable argv is defined as an array containing the commandline starting at <filename>.
OPTIONS:
particularly `run_command()`. The motivation for this flag is so that
Execute <cmd> with arguments <args>.
OPTIONS:
Start a meson dsl repl. The functions available are limited as with internal eval.
Print all supported functions, methods, and module functions with their arguments, argument types, and return types to stdout. This subcommand is mainly useful for generating https://muon.build/status.html.
Lists available project options and defaults. This command may either be run from the project root or from a build directory. Running this command from a build directory highlights configured option values in the output, whereas running it from the project root causes the default value for each option to be highlighted.
OPTIONS:
Executes an embedded copy of samu(1). This command requires that muon was compiled with samu enabled.
Interpret all source files and generate buildfiles in build dir.
OPTIONS:
Print a previously configured project's summary.
Execute tests defined in source files.
OPTIONS:
etc. The format of the output is <project name>:<list of suites> -
Print out version information as well as enabled features.
Maintained by Stone Tickle <lattis@mochiro.moe>, who is assisted by other open source contributors. For more information about muon development, see <https://sr.ht/~lattis/muon>.
2023-01-22 |