使用curl
使用wget
使用powershell
Invoke-Expression (Invoke-Webrequest 'https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.ps1' -UseBasicParsing).Content
简单的工程描述
包依赖描述
官方的xmake包管理仓库: xmake-repo
构建工程
$ xmake
运行目标
$ xmake run console
调试程序
$ xmake f -p [windows|linux|macosx|android|iphoneos ..] -a [x86|arm64 ..] -m [debug|release]
$ xmake
图形化菜单配置
$ xmake f --menu
包依赖管理
支持平台
- Windows (x86, x64)
- 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
- Cuda
工程类型
- 静态库程序
- 动态库类型
- 控制台程序
- Cuda程序
- Qt应用程序
- WDK驱动程序
- WinSDK应用程序
宏记录脚本和回放插件
$ xmake m -b # 开始记录
$ xmake f -p iphoneos -m debug
$ xmake
$ xmake f -p android --ndk=~/files/android-ndk-r16b
$ xmake
$ xmake m -e # 结束记录
加载自定义lua脚本插件
$ xmake l ./test.lua
$ xmake l -c "print('hello xmake!')"
$ xmake l lib.detect.find_tool gcc
生成IDE工程文件插件(makefile, vs2002 - vs2017, …)
生成doxygen文档插件
$ xmake doxygen [srcdir]
更多插件
请到插件仓库进行下载安装: xmake-plugins.
IDE和编辑器插件
- xmake.vim (third-party, thanks )
更多例子
Debug和Release模式:
add_rules("mode.debug", "mode.release")
target("console")
set_kind("binary")
add_files("src/*.c")
if is_mode("debug") then
add_defines("DEBUG")
end
下载和使用远程依赖包:
add_requires("tbox >1.6.1", {optional = true, debug = true})
target("test")
set_kind("shared")
add_files("src/*.c")
add_packages("libuv", "ffmpeg", "tbox", "zlib")
查找和使用本地已安装的包:
target("test")
set_kind("shared")
add_files("src/*.c")
on_load(function (target)
import("lib.detect.find_package")
target:add(find_package("zlib"))
target:add(find_package("openssl"))
项目例子
演示视频
- 邮箱:waruqi@gmail.com
- 主页:
- 社区:Reddit论坛
- 聊天:, Gitter聊天室
- 源码:, Gitee
- QQ群:343118190