xmake - Man Page
cross-platform build utility based on Lua
Examples (TL;DR)
- Create an Xmake C project, consisting of a hello world and
xmake.lua
:xmake create --language c -P project_name
- Build and run an Xmake project:
xmake build run
- Run a compiled Xmake target directly:
xmake run target_name
- Configure a project's build targets:
xmake config --plat=macosx|linux|iphoneos|... --arch=x86_64|i386|arm64|... --mode=debug|release
- Install the compiled target to a directory:
xmake install -o path/to/directory
Synopsis
xmake [task] [options] [target]
Description
xmake is a lightweight cross-platform build utility based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more concise and intuitive. It is very friendly to novices and can quickly get started in a short time. Let users focus more on actual project development.
Actions
- b, build
Build targets if no given tasks.
- u, uninstall
Uninstall the project binary files.
- p, package
Package target.
- r, run
Run the project target.
- g, global
Configure the global options for xmake.
- i, install
Package and install the target binary files.
- c, clean
Remove all binary and temporary files.
- create
Create a new project.
- q, require
Install and update required packages.
- update
Update and uninstall the xmake program.
- f, config
Configure the project.
Plugins
- plugin
Manage plugins of xmake.
- m, macro
Run the given macro.
- doxygen
Generate the doxygen document.
- l, lua
Run the lua script.
- repo
Manage package repositories.
- service
Start service for remote or distributed compilation and etc. (Experimental, still in development)
- project
Generate the project file.
- show
Show the given project information.
Options
- -q, --quiet
Quiet operation.
- -y, --yes
Input yes by default if need user confirm.
- --confirm=CONFIRM
Input the given result if need user confirm.
- yes
- no
- def- -v, --verbose
Print lots of verbose information for users.
- --root
Allow one to run xmake as root.
- -D, --diagnosis
Print lots of diagnosis information (backtrace, check info ..) only for developers. And we can append -v to get more whole information.
e.g. $ xmake -vD- --version
Print the version number and exit.
- -h, --help
Print this help message and exit.
- -F FILE, --file=FILE
Read a given xmake.lua file.
- -P PROJECT, --project=PROJECT
Change to the given project directory. Search priority:
1. The Given Command Argument
2. The Environment Variable: XMAKE_PROJECT_DIR
3. The Current Directory
Build Options
- -b, --build
Build target. This is default building mode and optional.
- -r, --rebuild
Rebuild the target.
- -a, --all
Build all targets.
- --dry-run
Dry run to build target.
- -j JOBS, --jobs=JOBS
Specifies the number of jobs to build simultaneously. (default: 6)
- -w, --warning
Enable the warnings output.
- --files=FILES
Build the given source files.
e.g.
- xmake --files=src/main.c - xmake --files='src/*.c' [target] - xmake --files='src/**c|excluded_file.c' - xmake --files='src/main.c:src/test.c'
- target
The target name. It will build all default targets if this parameter is not specified.
Author
xmake is written by ruki.
This manual page was written by Yangfl for the Debian Project (and may be used by others).