1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
---
layout: default.cn
title: {{ site.name }}
---
## 安装
#### 使用curl
```bash
bash <(curl -fsSL https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh)
```
#### 使用wget
```bash
bash <(wget https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh -O -)
```
#### 使用powershell
```bash
Invoke-Expression (Invoke-Webrequest 'https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.ps1' -UseBasicParsing).Content
```
## 简单的工程描述
```lua
target("console")
set_kind("binary")
add_files("src/*.c")
```
## 构建工程
```bash
$ xmake
```
## 运行目标
```bash
$ xmake run console
```
## 调试程序
```bash
$ xmake run -d console
```
## 支持特性
* Tasks
* Macros
* Actions
* Options
* Plugins
* Modules
* Templates
## 支持平台
* 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)
## 支持语言
* C/C++
* Objc/Objc++
* Swift
* Assembly
* Golang
* Rust
* Dlang
## 内置插件
* 宏记录脚本和回放插件
* 加载自定义lua脚本插件
* 生成IDE工程文件插件(makefile, vs2002 - vs2017, ...)
* 生成doxygen文档插件
## 更多插件
请到插件仓库进行下载安装: [xmake-plugins](https://github.com/tboox/xmake-plugins).
## IDE插件
* [](https://marketplace.visualstudio.com/items?itemName=tboox.xmake-vscode#overview)
## 更多例子
Debug和Release模式:
```lua
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")
```
自定义脚本:
```lua
target("test")
set_kind("static")
add_files("src/*.cpp")
after_build(function (target)
print("build %s ok!", target:targetfile())
end)
```
使用扩展模块:
```lua
target("test")
set_kind("shared")
add_files("src/*.c")
on_load(function (target)
import("lib.detect.find_package")
target:add(find_package("zlib"))
end)
```
## 项目例子
一些使用xmake的项目:
* [tbox](https://github.com/tboox/tbox)
* [gbox](https://github.com/tboox/gbox)
* [vm86](https://github.com/tboox/vm86)
* [更多](https://github.com/vm86/xmake/wiki/%E4%BD%BF%E7%94%A8xmake%E7%9A%84%E5%BC%80%E6%BA%90%E5%BA%93)
## 演示视频
[](https://asciinema.org/a/133693)
## 联系方式
* 邮箱:[waruqi@gmail.com](mailto:waruqi@gmail.com)
* 主页:[tboox.org](http://www.tboox.org/cn)
* 社区:[TBOOX开源社区](https://github.com/tboox/community/issues)
* 聊天:[](https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
* 源码:[Github](https://github.com/tboox/xmake), [Gitee](https://gitee.com/tboox/xmake)
* QQ群:343118190
* 微信公众号:tboox-os
|