xmake v2.0.4 发布了。此版本主要修复一些bugs,以及部分功能性增强,并且增加一些新特性。 更新内容 新特性
改进
Bugs修复
简介 XMake是一个基于Lua的轻量级跨平台自动构建工具,支持在各种主流平台上构建项目 xmake的目标是开发者更加关注于项目本身开发,简化项目的描述和构建,并且提供平台无关性,使得一次编写,随处构建 它跟cmake、automake、premake有点类似,但是机制不同,它默认不会去生成IDE相关的工程文件,采用直接编译,并且更加的方便易用 采用lua的工程描述语法更简洁直观,支持在大部分常用平台上进行构建,以及交叉编译 并且xmake提供了创建、配置、编译、打包、安装、卸载、运行等一些actions,使得开发和构建更加的方便和流程化。 不仅如此,它还提供了许多更加高级的特性,例如插件扩展、脚本宏记录、批量打包、自动文档生成等等。。 如果你想要了解更多,请参考: 支持特性
常用Actions
一些内置插件
支持编译语言
支持的构建平台
后续任务
简单例子 创建一个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") |