开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
XMake首页、文档和下载 - 基于 Lua 的跨平台构建工具 - 开源中国社区
全部项目分类
Apache License 2.0
C/C++ Lua 查看源码»
跨平台
ruki
分享
收藏
210 人收藏
收录时间:2015-07-16
XMake 详细介绍

简介

XMake是一个基于Lua的轻量级跨平台自动构建工具,支持在各种主流平台上构建项目

xmake的目标是开发者更加关注于项目本身开发,简化项目的描述和构建,并且提供平台无关性,使得一次编写,随处构建

它跟cmake、automake、premake有点类似,但是机制不同,它默认不会去生成IDE相关的工程文件,采用直接编译,并且更加的方便易用 采用lua的工程描述语法更简洁直观,支持在大部分常用平台上进行构建,以及交叉编译

并且xmake提供了创建、配置、编译、打包、安装、卸载、运行等一些actions,使得开发和构建更加的方便和流程化。

不仅如此,它还提供了许多更加高级的特性,例如插件扩展、脚本宏记录、批量打包、自动文档生成等等。。

如果你想要了解更多,请参考:

简单的工程描述

target("console")
    set_kind("binary")
    add_files("src/*.c")

构建工程

$ xmake

运行目标

$ xmake run console

调试程序

$ xmake run -d console

支持特性

  • Tasks

  • Macros

  • Actions

  • Options

  • Plugins

  • Templates

支持平台

  • Windows (x86, x64, amd64, x86_amd64)

  • 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文档插件

  • iOS app2ipa插件

简单例子

UsageDemo

创建一个c++ console项目:

xmake create -l c++ -t 1 console
or  xmake create --language=c++ --template=1 console

工程描述文件:xmake.lua

target("console")
    set_kind("binary")
    add_files("src/*.c")

配置工程:

这个是可选的步骤,如果只想编译当前主机平台的项目,是可以不用配置的,默认编译release版本。

   xmake f -p iphoneos -m debug
or xmake f --plat=macosx --arch=x86_64
or xmake f -p windows
or xmake config --plat=iphoneos --mode=debug
or xmake config --plat=android --arch=armv7-a --ndk=xxxxx
or xmake config -p linux -a i386
or xmake config -p mingw --cross=i386-mingw32- --toolchains=/xxx/bin
or xmake config -p mingw --sdk=/mingwsdk
or xmake config --help

编译工程:

   xmake
or xmake -r
or xmake --rebuild

运行目标:

   xmake r console
or xmake run console

调试目标:

   xmake r -d console
or xmake run -d console

打包所有:

   xmake p
or xmake package
or xmake package console
or xmake package -o /tmp
or xmake package --output=/tmp

通过宏脚本打包所有架构:

   xmake m package 
or xmake m package -p iphoneos
or xmake m package -p macosx -f "-m debug" -o /tmp/
or xmake m package --help

安装目标:

   xmake i
or xmake install
or xmake install console
or xmake install -o /tmp
or xmake install --output=/tmp

详细使用方式和参数说明,请参考文档 或者运行:

   xmake -h
or xmake --help
or xmake config --help
or xmake package --help
or xmake macro --help
...

一些使用xmake的项目:

简单例子

-- the debug mode
if is_mode("debug") then
    
    -- enable the debug symbols
    set_symbols("debug")

    -- disable optimization
    set_optimize("none")
end

-- the release mode
if is_mode("release") then

    -- set the symbols visibility: hidden
    set_symbols("hidden")

    -- enable fastest optimization
    set_optimize("fastest")

    -- strip all symbols
    set_strip("all")
end

-- add target
target("test")

    -- set kind
    set_kind("static")

    -- add files
    add_files("src/*.c")
XMake

选择将代码托管在码云
你还在等什么

可能是中国最大最好的代码托管平台


大家对 XMake 的评论 (全部 5 条评论)
{{repayCom.userName}}
ruki
#XMake# xmake for vscode插件体验版。。欢迎试用。。https://github.com/tboox/xmake-vscode
ruki
#XMake# 录了个演示视频,https://asciinema.org/a/133693 ,刚忘记放链接了 = =
ruki
#XMake# 录了个演示视频
ruki
需要跨平台构建c/c++程序的,可以试试 #XMake# 哦。。http://xmake.io 后续会有更多新特性更新。。:)
XMake 相关博客
ruki
xmake使用演示
顶部