← Package directory
Available on winget

Install XMake build utility

A cross-platform build utility based on Lua.

Install with winget
winget install --id Xmake-io.Xmake
Upgrade
winget upgrade --id Xmake-io.Xmake
Uninstall
winget uninstall --id Xmake-io.Xmake

About XMake build utility

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.

What's new in 3.0.8+20260323

New features - #7398: Add C# language and dotnet toolchain support - #7410: Add C# and C/C++ interop support via P/Invoke - #7360: Support custom templates - #7367: Add xmake create --list and remote template distribution - #7313: Add build.release.strip policy - #7333: Add winos.file_signature function - #7336: Add support for running wasi target - #7346: Add nnd debugger support - #7366: Add tarxz pack format Changes - #7416: Switch xmake.cli rule from bin2c to bin2obj - #7309: Keep package source - #7310: Improve check tips - #7311: Improve Xcode toolchain - #7312: Improve binutils to support wasm - #7320: Add haiku ci - #7329: Improve qt deploy for macapp - #7349: Strip embed-dir on clang/gcc for C++ modules - #7368: Move templates to repository - #7383: Split zig toolchain to zig/zigcc - #7384: Improve find_hdk - #7387: Show target name in progress - #7391: Improve to find package with vcpkg features - #7392: Fix zig for shared libraries - #7396: Improve vcpkg - #7399: Extend formatting to C++ modules - #7409: Improve ldc on windows Bugs fixed - #7299: Fix dependency handling for vcpkg - #7316: Fix components typo - #7318: Update tbox to fix tolower/toupper - #7339: Update tbox to fix start process on win7 - #7344: Fix swig jar package module - #7345: Fix check clang info - #7341: Fix WASM QT 6.9 - #7356: Fix issue #7354 - #7371: Fix test verbose output - #7386: Fix install script incompatibility with coreutils 9.10 - #7393: Fix build target validation

Read release notes

Version history

Version Updated Notes
3.0.8+20260323 Unknown New features - #7398: Add C# language and dotnet toolchain support - #7410: Add C# and C/C++ interop support via P/Invoke - #7360: Support custom templates - #7367: Add xmake create --list and remote template distributio...
3.0.7+20260210 Unknown New features - #7178: Switch Verilator build file parsing from cmake to json format - #7186: Add alpine ci - #7187: Add suffix support for CUDA architecture - #7190: Nix Package Manager: Add Semantic Versioning and Impro...
3.0.6+20260104 Unknown New features - #7141: Support disabling native app glue for Android - #7139: Add Android native app build support - #7127: Add deplibs support in binutils - #7120: Add extractlib support in binutils - #7106: Add /std:c++...
3.0.5+20251125 Unknown New features - #7055: Add Solaris platform support (i386, x86_64) - #7054: Add support for additional BSD systems (NetBSD, OpenBSD, DragonflyBSD) - #6929: Add support for GCC 15 toolchain - #6967: Add Swift interop suppo...
3.0.4+20251014 Unknown New features - #6864: Add default file filter for format task - #6843: Improve clang-tidy support - #6861: Rewrite of Nix Package Manager Support - #6850: Add package api checking - #6874: Add scriptdir to project packag...
3.0.3+20250921 Unknown New features - #6778: Add build.linker.output - #6779: Add #embed and embedirs support - #6787: Support for vs2026 - #6785: Support clang and llvm for wdk rules - #6791: Add Nix Package Manager Support - #6800: Support n...
3.0.2+20250904 Unknown New features - #6755: Add native thread support - #6641: Add pkgenvs to target/config - #6644: Support .def file with clang - #6695: Add /uselocaltime to inf2cat args - #6709: Support for wasm64 - #6737: Add python stub...
3.0.1+20250718 Unknown New features - #4810: Add Native XCode project generator plugin Bugs fixed - #6592: Fix objects only links - #6586: Fix build.fence policy - #6600: Fix compile_commands generator for c++modules - #6621: Fix android build...
3.0.0+20250615 Unknown New features - #5926: Add MIDL support - #6414: Add platform.windows.subsystem rule - #5527: Switch to 3.0 policies Changes - #6202: Improve rule API and build dependency order - #5624: Enable auto build when calling xma...
2.9.9+20250408 Unknown New features - #6137: IDE integration - #6138: Use libxmake to build binary with xmake lua apis - #6154: Add kotlin language and kotlin-native compiler and packages support - #6279: Add msvc midl support Changes - #6182:...
2.9.8+20250204 Unknown New features - #5994: Profile process performance - #5995: Add profile support for vs generator - #5949: Add rule nodejs.module - #3380: Add namespace support - #5945: Check pkgconfig/cmake importfiles for package - #605...
2.9.7+20241219 Unknown New features - #5813: Add before_config and after_config for rule - #5848: Support custom MSVC build tools, e.g. PortableBuildTools and msvc-wine - #5880: Use msvc package to build project - #5884: Add installtips for pa...
2.9.6+20241030 Unknown New features - #5527: Add set_policy("compatibility.version", "3.0") to preview v3.0 features. - #5649: Add package.check_fcsnippets Changes - #5631: Add as_needed for add_linkgroups - #5702: Improve hash module - #5688:...
2.9.5+20240914 Unknown New features - #5462: Add xmake l cli.bisect - #5488: Support for using cosmocc to build xmake binary - #5491: Provide single xmake binary with embeded lua files - #5580: Add @builtin/xrepo to add envs for xrepo env shel...
2.9.4+20240729 Unknown New features - #5278: Add build.intermediate_directory policy to disable and custom intermediate directory - #5313: Add windows arm/arm64ec support - #5296: Add Intel LLVM Fortran Compiler support - #5384: Add add_bindir...
2.9.3+20240624 Unknown Release notes
2.9.2+20240523 Unknown New features - #5005: Show all apis - #5003: Add build.fence policy - #5060: Support Verilator target build to static library - #5074: Add xrepo download command to download package source - #5086: Add check support for...
2.9.1+20240422 Unknown New features - #4874: Add Harmony SDK support - #4889: Add signal module to register signal handler in lua - #4925: Add native modules support - #4938: Support for cppfront/h2 Changes - Improve packages to support for cl...
2.8.9+20240321 Unknown New features - #4843: Endianness/Byte-order detection on build machine Changes - #4798: Improve wasi sdk detect - #4772: Improve tools.cmake to support vs2022 preview (v144) - #4813: Add gb2312 encoding - #4864: Improve...
2.8.6+20231226 Unknown New features - Add network.mode policy - #1433: Add xmake pack command to generate NSIS/zip/tar.gz/rpm/srpm/runself packages like cmake/cpack - #4435: Support batchsize for UnityBuild in Group Mode - #4485: Support packa...