Installation
via curl
bash <(curl -fsSL https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh)
via wget
bash <(wget https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh -O -)
via powershell
Invoke-Expression (Invoke-Webrequest 'https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.ps1' -UseBasicParsing).Content
Simple description
target("console")
set_kind("binary")
add_files("src/*.c")
Build project
$ xmake
Run target
$ xmake run console
Debug target
$ xmake run -d console
Support features
- Tasks
- Macros
- Actions
- Options
- Plugins
- Modules
- Templates
Support platforms
- Windows (x86, x64)
- Macosx (i386, x86_64)
- Linux (i386, x86_64, cross-toolchains …)
- Android (armv5te, armv6, armv7-a, armv8-a, arm64-v8a)
- iPhoneOS (armv7, armv7s, arm64, i386, x86_64)
- WatchOS (armv7k, i386)
- Mingw (i386, x86_64)
Support Languages
- C/C++
- Objc/Objc++
- Swift
- Assembly
- Golang
- Rust
- Dlang
Builtin Plugins
- Macros script plugin
- Run the custom lua script plugin
- Generate IDE project file plugin(makefile, vs2002 - vs2017 .. )
- Generate doxygen document plugin
More Plugins
Please download and install from the plugins repository xmake-plugins.
More Examples
Debug and release modes:
if is_mode("debug") then
set_symbols("debug")
set_optimize("none")
end
if is_mode("release") then
set_symbols("hidden")
set_optimize("fastest")
set_strip("all")
end
target("console")
set_kind("binary")
add_files("src/*.c")
Custom script:
target("test")
set_kind("static")
add_files("src/*.cpp")
after_build(function (target)
print("build %s ok!", target:targetfile())
end)
Extension Modules:
target("test")
set_kind("shared")
add_files("src/*.c")
on_load(function (target)
import("lib.detect.find_package")
target:add(find_package("zlib"))
end)
Project Examples
Some projects using xmake:
Example Video
Contacts
- Email:waruqi@gmail.com
- Homepage:tboox.org
- Community:tboox@community
- ChatRoom:
- Source Code:Github, Gitee
Support us
