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") |