xmake - Man Page

cross-platform build utility based on Lua

Examples (TL;DR)

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).