muon(1) General Commands Manual muon(1) NAME muon - a meson-compatible build system SYNOPSIS muon [-vh] [-C <chdir>] <command> [<args>] muon build [-D[subproject:]option=value...] <build dir> muon -C <build dir> test [options] muon -C <build dir> install [options] DESCRIPTION muon interprets source files written in the meson dsl and produces build- files for a backend. When building meson projects with muon, you typically first start by run- ning 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. OPTIONS * -C <path> - chdir to path * -q - silence logging except for errors * -v - turn on debug messages * -h - show help COMMANDS muon requires a command All commands accept a -h option which prints a brief summary of their us- age. analyze muon analyze [-lq] [-m <normal|script|module>] [-O <path>] [-W <diag- nostic>] <command> run a static analyzer OPTIONS * -l - optimize output for editor linter plugins * -m <normal|script|module> - analyze with language mode * -O <path> - read project file with matching path from stdin * -q - only report errors * -W <diagnostic> - enable or disable diagnostics -Wlist can be used to list all supported diagnostics. -Werror will turn all warnings into errors. * -h - show help COMMANDS * file - analyze a single file. Implies -m module. * lsp - run the analyzer as a language server * root-for - determine the project root given a meson file * trace - print a tree of all meson source files that are evaluated analyze file muon analyze file analyze a single file. Implies -m module. -m script can also be passed to analyze a file in script mode. This is useful for catching bugs in scripts that will be evaluated with muon internal eval, or script modules. analyze lsp muon analyze lsp run the analyzer as a language server analyze root-for muon analyze root-for determine the project root given a meson file analyze trace muon analyze trace print a tree of all meson source files that are evaluated build muon build [-#wW] [-b <breakpoint>] [-B <debugger pipe>] [-D <op- tion>=<value>] [-p <file>] <build dir|source dir> [ninja options] [ninja targets] setup and build in a single step Invoke muon setup and build in a single command. Additionally, setup will only run if the passed options have changed, including options im- plicitly set using environment variables. OPTIONS * -# - enable setup progress bar * -b <breakpoint> - set breakpoint * -B <debugger pipe> - enable DAP server connected to pipe * -D <option>=<value> - set options * -p <file> - preload <file> * -w - wipe all caches before setup * -W - only setup if options have changed * -h - show help devenv muon devenv <command to run> run commands in developer environment OPTIONS * -h - show help fmt muon fmt [-eilq] [-c <path>] <file>[ <file>[...] format a meson source file OPTIONS * -c <path> - read configuration from path * -e - respect .editorconfig configuration * -i - format files in-place * -l - like -q but also print failing filenames * -q - exit with 1 if files would be modified by muon fmt * -h - show help help muon help [-r] [query] get help OPTIONS * -r - reference. get help for meson functions * -h - show help install muon install [-nU] [-d <destdir>] install files OPTIONS * -d <destdir> - set destdir * -n - dry run * -U - uninstall * -h - show help internal muon internal <command> internal subcommands OPTIONS * -h - show help COMMANDS * check - parse and compile meson files * dump_docs - output docs * dump_toolchains - output toolchain arguments * eval - evaluate a file * exe - run an external command * generate_test_html - generate a html test report from a tests.json * repl - start a meson language repl * summary - print a configured project's summary internal check muon internal check [-dfpr] [-b <breakpoint>] [-m <normal|script|mod- ule>] [-o <offset>] <filename> parse and compile meson files OPTIONS * -b <breakpoint> - set breakpoint * -d - print dissasembly * -f - enable formatting mode * -m <normal|script|module> - parse with language mode * -o <offset> - set an offset in hexadecimal when printing instruc- tions * -p - print parsed ast * -r - enable relaxed mode * -h - show help internal dump_docs muon internal dump_docs [-c] [-o <man|html|json>] output docs OPTIONS * -c - dump cli docs * -o <man|html|json> - set output type * -h - show help internal dump_toolchains muon internal dump_toolchains [-s <key>=<val>] [-t <compo- nent>=<type>|list>] output toolchain arguments OPTIONS * -s <key>=<val> - set the value for a template argument * -t <component>=<type>|list> - set the type for a component or list all component types * -h - show help internal eval muon internal eval [-es] [-b <breakpoint>] [-B <debugger pipe>] [-c <program text>] <filename> [args] evaluate a file The execution environment is restricted, function availability is marked in the reference manual. OPTIONS * -b <breakpoint> - set breakpoint * -B <debugger pipe> - enable DAP server connected to pipe * -c <program text> - evaluate program passed in as string * -e - lookup <filename> as an embedded script * -s - disable functions for fuzzing * -h - show help internal exe muon internal exe [-a <file>] [-c <file>] [-e <file>] [-f <file>] [-R <file>] cmd [args] run an external command OPTIONS * -a <file> - load arguments from data file * -c <file> - capture output to file * -e <file> - load environment from data file * -f <file> - feed file to input * -R <file> - remove file if it exists before executing the command * -h - show help internal generate_test_html muon internal generate_test_html generate a html test report from a tests.json OPTIONS * -h - show help internal repl muon internal repl start a meson language repl OPTIONS * -h - show help internal summary muon internal summary print a configured project's summary OPTIONS * -h - show help meson muon meson ... A compatibility layer that attempts to translate all flags and operands from meson cli syntax to muon cli syntax. For example, the following two commands: muon meson setup build --werror --prefix=/ muon meson test -C build --list Would be translated into the following two muon versions respectively: muon setup -Dwerror=true -Dprefix=/ build muon -C build test -l This compatibility layer is also enabled when muon's executable is named meson. For more detailed usage information you can use the following two com- mands: muon meson -h muon meson <subcommand> -h NOTE: This is a best-effort translation and does not guarantee or imply full cli compatibility. Many unimplemented flags are ignored and at- tempting to use an unsupported subcommands will result in an error. options muon options [-am] list project options OPTIONS * -a - list all options * -m - list only modified options * -h - show help setup muon setup [-#wW] [-b <breakpoint>] [-B <debugger pipe>] [-D <op- tion>=<value>] [-p <file>] <build dir|source dir> setup a build directory OPTIONS * -# - enable setup progress bar * -b <breakpoint> - set breakpoint * -B <debugger pipe> - enable DAP server connected to pipe * -D <option>=<value> - set options * -p <file> - preload <file> * -w - wipe all caches before setup * -W - only setup if options have changed * -h - show help subprojects muon subprojects [-d <directory>] <command> manage subprojects OPTIONS * -d <directory> - manually specify subprojects directory * -h - show help COMMANDS * clean - clean wrap-git subprojects * fetch - fetch a single subproject from a .wrap file * list - list subprojects with .wrap files and their status * update - update subprojects with .wrap files subprojects clean muon subprojects clean [-f] <list of subprojects> clean wrap-git subprojects OPTIONS * -f - actually perform the removal * -h - show help subprojects fetch muon subprojects fetch [-o <directory>] <subproject.wrap> fetch a single subproject from a .wrap file OPTIONS * -o <directory> - the directory to fetch into, e.g. subprojects * -h - show help subprojects list muon subprojects list <list of subprojects> list subprojects with .wrap files and their status OPTIONS * -h - show help subprojects update muon subprojects update [-f] <list of subprojects> update subprojects with .wrap files OPTIONS * -f - fail if any subproject fails to update * -h - show help test muon test [-abflrRSv] [-d <auto|dots|bar>] [-e <setup>] [-j <jobs>] [-o <term|html|json>] [-s <suite>] [-t <factor>] [test [test [...]] run tests OPTIONS * -a - include all tests from all projects * -b - run benchmarks instead of tests * -d <auto|dots|bar> - change progress display mode * -e <setup> - use test setup * -f - fail fast; exit after first failure * -j <jobs> - set the number of test workers * -l - list tests that would be run * -o <term|html|json> - set output mode * -r - build tests only * -R - disable automatic rebuild * -s <suite> - only run items in <suite>, may be passed multiple times * -S - print a summary with elapsed time * -t <factor> - multiply test timeouts with <factor> * -v - increase verbosity, may be passed twice * -h - show help version muon version print version information OPTIONS * -h - show help SEE ALSO meson.build(5) meson-reference(3) meson(1) AUTHORS 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>. muon 0.6.0-1c825e41 muon(1)
Want to link to this manual page? Use this URL:
<https://man.FreeBSD.org/cgi/man.cgi?query=muon&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>