Skip to content

Releases: xmake-io/xmake

xmake v2.0.1

17 Jun 14:39
Compare
Choose a tag to compare

New features

  • Add task api for running custom tasks
  • Add plugin expansion and provide some builtin plugins
  • Add export ide project plugin(.e.g makefile and will support to export other projects for vs, xcode in feature)
  • Add demo plugin for printing 'hello xmake'
  • Add make doxygen documents plugin
  • Add macro script plugin
  • Add more modules for developing plugin
  • Add exception using try/catch and simplify grammar for plugin script
  • Add option bindings
  • Show progress when building

Changes

  • Rewrite interpreter for xmake.lua
  • More strict syntax detection mechanism
  • More strict api scope for xmake.lua
  • Simplify template development
  • Extend platforms, tools, templates and actions fastly
  • Simplify api and support import modules
  • Remove dependence for gnu make/nmake, no longer need makefile
  • Optimize speed for building and faster x4 than v1.0.4
  • Optimize automatic detection
  • Modify some api name, but be compatible with the old version
  • Optimize merging static library
  • Simplify cross compilation using argument --sdk=xxx
  • Simplify boolean option for command line, .e.g xmake config --xxx=[y|n|yes|no|true|false]
  • Merge iphoneos and iphonesimulator platforms
  • Merge watchos and watchsimulator platformss

Bugs fixed

  • #3: ArchLinux compilation failed
  • #4: Install failed for windows
  • Fix envirnoment variable bug for windows

新特性

  • 增加task任务机制,可运行自定义任务脚本
  • 实现plugin扩展机制,可以很方便扩展实现自定义插件,目前已实现的一些内置插件
  • 增加project文件导出插件(目前已支持makefile的生成,后续会支持:vs, xcode等工程的生成)
  • 增加hello xmake插件(插件demo)
  • 增加doxygen文档生成插件
  • 增加自定义宏脚本插件(支持动态宏记录、宏回放、匿名宏、批量导入、导出等功能)
  • 增加更多的类库用于插件化开发
  • 实现异常捕获机制,简化上层调用逻辑
  • 增加多个option进行宏绑定,实现配置一个参数,就可以同时对多个配置进行生效
  • 增加显示全局构建进度

改进

  • 重构整个xmake.lua描述文件的解释器,更加的灵活可扩展
  • 更加严格的语法检测机制
  • 更加严格的作用域管理,实现沙盒引擎,对xmake.lua中脚本进行沙盒化处理,使得xmake.lua更加的安全
  • 简化模板的开发,简单几行描述就可以扩展一个新的自定义工程模板
  • 完全模块化platforms、tools、templates、actions,以及通过自注册机制,只需把自定义的脚本放入对应目录,就可实现快速扩展
  • 针对所有可扩展脚本所需api进行大量简化,并实现大量类库,通过import机制进行导入使用
  • 移除对gnu make/nmake等make工具的依赖,不再需要makefile,实现自己的make算法,
  • 优化构建速度,支持多任务编译(支持vs编译器)(实测:比v1.0.4提升x4倍的构建性能)
  • 优化自动检测机制,更加的稳定和准确
  • 修改部分工程描述api,增强扩展性,减少一些命名歧义(对低版本向下兼容)
  • 优化静态库合并:add_files("*.a"),修复一些bug
  • 优化交叉编译,通过--sdk=xxx参数实现更加方便智能的进行交叉编译配置,简化mingw平台的编译配置
  • 简化命令行配置开关, 支持xmake config --xxx=[y|n|yes|no|true|false]等开关值
  • 合并iphoneos和iphonesimulator平台,以及watchos和watchsimulator平台,通过arch来区分,使得打包更加方便,能够支持一次性打包iphoneos的所有arch到一个包中

Bugs修复

  • #3: 修复ArchLinux 编译失败问题
  • #4: 修复windows上安装失败问题
  • 修复windows上环境变量设置问题

xmake v1.0.4

10 Jan 09:01
Compare
Choose a tag to compare

New features

  • Support windows assembler
  • Add some project templates
  • Support swift codes
  • Add -v argument for outputing more verbose info
  • Add apple platforms:watchos, watchsimulator
  • Add architecture x64, amd64, x86_amd64 for windows
  • Support switch static and share library
  • Add -j/--jobs argument for supporting multi-jobs

Changes

  • Improve add_files api and support to add *.o/obj/a/lib files for merging static library and object files
  • Optimize installation and remove some binary files

Bugs fixed

  • #1: Install failed for win7
  • Fix checking toolchains bug
  • Fix install script bug
  • Fix install bug for linux x86_64

新特性

  • 增加对windows汇编器的支持
  • 为xmake create增加一些新的工程模板,支持tbox版本
  • 支持swift代码
  • 针对-v参数,增加错误输出信息
  • 增加apple编译平台:watchos, watchsimulator的编译支持
  • 增加对windows: x64, amd64, x86_amd64架构的编译支持
  • 实现动态库和静态库的快速切换
  • 添加-j/--jobs参数,手动指定是否多任务编译,默认改为单任务编译

改进

  • 增强add_files接口,支持直接添加*.o/obj/a/lib文件,并且支持静态库的合并
  • 裁剪xmake的安装过程,移除一些预编译的二进制程序

Bugs修复

  • #1: 修复win7上安装失败问题
  • 修复和增强工具链检测
  • 修复一些安装脚本的bug, 改成外置sudo进行安装
  • 修复linux x86_64下安装失败问题

xmake v1.0.3

06 Jan 01:10
Compare
Choose a tag to compare

New features

  • Add set_runscript api and support custom action
  • Add import api and support import modules in xmake.lua, .e.g os, path, utils ...
  • Add new architecture: arm64-v8a for android

Bugs fixed

  • Fix api bug for set_installscript
  • Fix install bug for windows x86_64
  • Fix relative path bug

新特性

  • 添加set_runscript接口,支持自定义运行脚本扩展
  • 添加import接口,使得在xmake.lua中可以导入一些扩展模块,例如:os,path,utils等等,使得脚本更灵活
  • 添加android平台arm64-v8a支持

Bugs修复

  • 修复set_installscript接口的一些bug
  • 修复在windows x86_64下,安装失败的问题
  • 修复相对路径的一些bug

xmake v1.0.2

06 Jan 01:11
Compare
Choose a tag to compare
add chinese README

xmake v1.0.1

06 Jan 01:11
Compare
Choose a tag to compare
modify configure file prefix