安装

使用curl

  1. bash <(curl -fsSL https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh)

使用wget

  1. bash <(wget https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh -O -)

使用powershell

  1. Invoke-Expression (Invoke-Webrequest 'https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.ps1' -UseBasicParsing).Content

简单的工程描述

快速开始 - 图1

包依赖描述

快速开始 - 图2

官方的xmake包管理仓库: xmake-repo

构建工程

  1. $ xmake

运行目标

  1. $ xmake run console

调试程序

  1. $ xmake run -d console

配置平台

  1. $ xmake f -p [windows|linux|macosx|android|iphoneos ..] -a [x86|arm64 ..] -m [debug|release]
  2. $ xmake

图形化菜单配置

  1. $ xmake f --menu

快速开始 - 图3

包依赖管理

快速开始 - 图4

支持平台

  • 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
  • Cuda

工程类型

  • 静态库程序
  • 动态库类型
  • 控制台程序
  • Cuda程序
  • Qt应用程序
  • WDK驱动程序
  • WinSDK应用程序

内置插件

宏记录脚本和回放插件

  1. $ xmake m -b # 开始记录
  2. $ xmake f -p iphoneos -m debug
  3. $ xmake
  4. $ xmake f -p android --ndk=~/files/android-ndk-r16b
  5. $ xmake
  6. $ xmake m -e # 结束记录
  7. $ xmake m . # 回放命令

加载自定义lua脚本插件

  1. $ xmake l ./test.lua
  2. $ xmake l -c "print('hello xmake!')"
  3. $ xmake l lib.detect.find_tool gcc

生成IDE工程文件插件(makefile, vs2002 - vs2017, …)

  1. $ xmake project -k vs2017 -m "debug,release"

生成doxygen文档插件

  1. $ xmake doxygen [srcdir]

更多插件

请到插件仓库进行下载安装: xmake-plugins.

IDE和编辑器插件

快速开始 - 图5

快速开始 - 图6

快速开始 - 图7

更多例子

Debug和Release模式:

  1. add_rules("mode.debug", "mode.release")
  2. target("console")
  3. set_kind("binary")
  4. add_files("src/*.c")
  5. if is_mode("debug") then
  6. add_defines("DEBUG")
  7. end

下载和使用远程依赖包:

  1. add_requires("libuv master", "ffmpeg", "zlib 1.20.*")
  2. add_requires("tbox >1.6.1", {optional = true, debug = true})
  3. target("test")
  4. set_kind("shared")
  5. add_files("src/*.c")
  6. add_packages("libuv", "ffmpeg", "tbox", "zlib")

查找和使用本地已安装的包:

  1. target("test")
  2. set_kind("shared")
  3. add_files("src/*.c")
  4. on_load(function (target)
  5. import("lib.detect.find_package")
  6. target:add(find_package("zlib"))
  7. target:add(find_package("openssl"))
  8. end)

项目例子

一些使用xmake的项目:

演示视频

快速开始 - 图8

联系方式