macOS
brew install xmakelocal Homebrew formula metadata
sudo port install xmakeMacPorts ports tree · devel/xmake/Portfile · source: api.github.com
brew
Cross-platform build utility based on Lua. Version 3.0.9 via Homebrew; verified 2026-05-19.
install
brew install xmakelocal Homebrew formula metadata
sudo port install xmakeMacPorts ports tree · devel/xmake/Portfile · source: api.github.com
sudo apk add xmakeAlpine Linux edge package indexes · xmake · source: dl-cdn.alpinelinux.org
sudo apt install xmakeDebian stable package indexes · xmake · source: deb.debian.org
sudo dnf install xmakeFedora Rawhide package metadata · xmake · source: dl.fedoraproject.org
nix profile install nixpkgs#xmakenixpkgs package indexes · pkgs/by-name/xm/xmake/package.nix · source: api.github.com
sudo pacman -S xmakeArch Linux sync databases · xmake · source: geo.mirror.pkgbuild.com
scoop install main/xmakeScoop official bucket manifest trees · bucket/xmake.json · source: api.github.com
winget install --id Xmake-io.Xmake -eWindows Package Manager source index · Xmake-io.Xmake · source: cdn.winget.microsoft.com
overview
Cross-platform build utility based on Lua
history
Xmake is a Lua-based cross-platform build utility for C, C++, and other compiled-language projects. Its distinctive package-nerd angle is that it combines build backend, project generator, package manager, remote/distributed build support, and cache features behind one `xmake.lua` project file.
The GitHub repository was created on 2015-04-23. Xmake's own introduction describes it as a lightweight, cross-platform build utility based on Lua, driven by a dependency-free C core, with concise project configuration compared with Makefiles or CMake.
The project grew from a build tool into a combined build-and-dependency environment. The README frames Xmake as build backend plus project generator plus package manager, with analogies to Make/Ninja, CMake/Meson, Vcpkg/Conan, distcc, and ccache/sccache. That positioning explains why the `xmake` executable is paired with `xrepo` for package work.
The official xmake-repo package repository was created on 2017-04-09. The package guide says official package use was initially supported after version 2.2.2, with `add_requires()` naming third-party packages and `add_packages()` applying them to targets.
By the 3.0 series, Xmake had accumulated a broad platform and toolchain matrix. The README lists desktop, BSD, mobile, embedded, WebAssembly, and cross-compilation platforms, plus toolchains ranging from GCC, Clang, MSVC, Xcode, Android NDK, Zig, Rust, Swift, CUDA, Fortran, Verilator, WebAssembly, and vendor embedded compilers.
Xmake adoption has been community-led rather than standards-body driven. The official "Who is using Xmake?" page lists game modding, embedded, graphics, aerospace, data-structure, full-body tracking, real-time communication, and commercial/internal users, plus notable entries such as Epic Games Zen and Microsoft Research's CHERIoT RTOS.
For package users, adoption was helped by Xmake's dual role: installing the tool is enough to try simple builds, while the official package repository lets projects express third-party C/C++ package needs inside the same Lua build description.
A minimal project defines targets in `xmake.lua`, for example setting a target kind and adding source globs. Common commands are `xmake` to build, `xmake run` to execute a target, `xmake test` for tests, and `xmake f` or `xmake config` to set platform, architecture, and build mode.
Dependency use centers on `add_requires()` and `add_packages()`: Xmake can check system libraries, fetch matching source packages, build and install them into its own package area, then link them into the project. The package guide also documents semantic version constraints, optional packages, debug package builds, custom package configs, and private/project package repositories.
Xmake is especially practical for cross-platform C/C++ projects that want build logic, third-party package integration, IDE/project generation, and cross-compilation switches in one tool without writing separate CMake and shell glue layers.
Xmake is significant because it collapses several packaging-adjacent jobs into one executable: project description, build orchestration, dependency acquisition, toolchain selection, package repository rules, and generated project files. That makes it a useful comparison point against CMake plus vcpkg/conan or Meson plus external dependency managers.
Its package repository is also a distribution model in miniature: recipes are versioned in a central GitHub repo, selected semantically by project files, and built per platform/architecture into an isolated install area. For package nerds, that is the interesting part, not just the Lua syntax.
security posture
No matching local secret-handling manifest was found for xmake. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
xmake.luaxmake.luaexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
xmake | cli | global executable | |
xrepo | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/xmake-io/xmake
install metadata
| Package key | brew:xmake |
|---|---|
| Version | 3.0.9 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/xmake |
| Homepage | https://xmake.io/ |
| Repository | https://github.com/xmake-io/xmake |
| Upstream docs | https://xmake.io/ |
| License | Apache-2.0 |
| Source archive | https://github.com/xmake-io/xmake/releases/download/v3.0.9/xmake-v3.0.9.tar.gz |
| Last updated | 2026-05-19T04:49:58Z |
| Pulse | updated |
| Uses from macOS | ncurses |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | xmake |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
xmake 2.9.9+ds-1
cross-platform build utility based on Lua
sudo apt install xmakexmake-data 2.9.9+ds-1
Data for xmake
sudo apt install xmake-dataxmake
nix profile install nixpkgs#xmakexmake 2.8.7+ds-1build2
cross-platform build utility based on Lua
sudo apt install xmakexmake-data 2.8.7+ds-1build2
Data for xmake
sudo apt install xmake-dataxmake 3.0.9-r0
A cross-platform build utility based on Lua
sudo apk add xmakexmake-bash-completion 3.0.9-r0
Bash completions for xmake
sudo apk add xmake-bash-completionxmake-doc 3.0.9-r0
A cross-platform build utility based on Lua (documentation)
sudo apk add xmake-docxmake-fish-completion 3.0.9-r0
Fish completions for xmake
sudo apk add xmake-fish-completionxmake-zsh-completion 3.0.9-r0
Zsh completions for xmake
sudo apk add xmake-zsh-completionxmake 3.0.9-2.fc45
A cross-platform build utility based on Lua
sudo dnf install xmakexmake-data 3.0.9-2.fc45
Common data-files for xmake
sudo dnf install xmake-dataxmake 3.0.9-1
A cross-platform build utility based on Lua
https://github.com/xmake-io/xmake
sudo pacman -S xmakexmake
sudo port install xmakemain/xmake
scoop install main/xmakeXmake-io.Xmake
winget install --id Xmake-io.Xmake -esource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.