- -

安装

- -

使用curl

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

使用wget

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

使用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 run -d console
-
-
- -

配置平台

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

图形化菜单配置

- -
$ xmake f --menu
-
-
- -

- -

包依赖管理

- -

- -

支持平台

- - - -

支持语言

- - - -

工程类型

- - - -

内置插件

- -

宏记录脚本和回放插件

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

加载自定义lua脚本插件

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

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

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

生成doxygen文档插件

- -
$ xmake doxygen [srcdir]
-
-
- -

更多插件

- -

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

- -

IDE和编辑器插件

- - - -

- - - -

- - - -

- - - -

更多例子

- -

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("libuv master", "ffmpeg", "zlib 1.20.*")
-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"))
-    end)
-
-
- -

项目例子

- -

一些使用xmake的项目:

- - - -

演示视频

- -

- -

- -

联系方式

- - - - - - - - -