Skip to content

Releases: xmake-io/xmake

xmake v2.9.1

22 Apr 06:58
Compare
Choose a tag to compare

New features

  • #4874: Add Harmony SDK support
  • #4889: Add signal module to register signal handler in lua
  • #4925: Add native modules support
  • #4938: Support for cppfront/h2

Changes

  • Improve packages to support for clang-cl
  • #4893: Improve rc includes deps
  • #4928: Improve to build and link speed
  • #4931: Update pdcurses
  • #4973: Improve to select script

Bugs fixed

  • #4882: Fix install deps with --group
  • #4877: Fix compile error for xpack with unity build
  • #4887: Fix object deps

新特性

  • #4874: 添加鸿蒙 SDK 支持
  • #4889: 添加 signal 模块 去注册信号处理
  • #4925: 添加 native 模块支持
  • #4938: 增加对 cppfront/h2 的支持

改进

  • 改进包管理,支持切换 clang-cl
  • #4893: 改进 rc 头文件依赖检测
  • #4928: 改进构建和链接速度,增量编译时候效果更加明显
  • #4931: 更新 pdcurses
  • #4973: 改进选择脚本的匹配模式

Bugs 修复

  • #4882: 修复安装组依赖问题
  • #4877: 修复 xpack 打包时,unit build 编译失败问题
  • #4887: 修复 object 依赖链接

What's Changed

New Contributors

Full Changelog: v2.8.9...v2.9.1

xmake v2.8.9

21 Mar 13:57
Compare
Choose a tag to compare

New features

  • #4843: Endianness/Byte-order detection on build machine

Changes

  • #4798: Improve wasi sdk detect
  • #4772: Improve tools.cmake to support vs2022 preview (v144)
  • #4813: Add gb2312 encoding
  • #4864: Improve to extract symbols for gdb
  • #4831: Allow target:fileconfig() for headerfiles
  • #4846: Improve to show progress

Bugs Fixed

  • Fix select_script match pattern
  • #4763: Fix {force = true}
  • #4807: Fix nimble::find_package
  • #4857: Fix parse basic options

新特性

  • #4843: 添加 check_bigendian 接口实现大小端探测

改进

  • #4798: 改进 wasi sdk 检测
  • #4772: 改进 tools.cmake 去兼容支持 vs2022 preview (v144)
  • #4813: 添加 gb2312 编码
  • #4864: 改进抽取符号,支持 gdb 断点调试
  • #4831: 改进 target:fileconfig() 支持 headerfiles
  • #4846: 改进进度显示,解决顺序错乱问题

Bugs 修复

  • 修复 select_script 的脚本模式匹配
  • #4763: 修复 {force = true}
  • #4807: 修复 nimble::find_package
  • #4857: 修复对 -P/-F 等基础选项的解析

xmake v2.8.8

02 Mar 13:36
Compare
Choose a tag to compare

Changes

  • Add package:check_sizeof()

Bugs Fixed

  • #4774: Fix android symbol strip
  • #4769: Fix cross toolchain and format
  • #4776: Fix soname for linux
  • #4638: Fix vsxmake with --menu config

改进

  • 添加 package:check_sizeof()

Bugs 修复

  • #4774: 修复 Android NDK r26b 上的 strip 支持
  • #4769: 修复交叉编译工具链问题
  • #4776: 修复 soname
  • #4638: 修复 vsxmake generator

xmake v2.8.7

25 Feb 14:14
Compare
Choose a tag to compare

New features

  • #4544: Support to wait process timeout for xmake test
  • #4606: Add add_versionfiles api in package
  • #4709: Add cosmocc toolchain support
  • #4715: Add is_cross() api in description scope
  • #4747: Add build.always_update_configfiles policy

Changes

  • #4575: Check invalid scope name
  • Add more loong64 support
  • Improve dlang/dmd support for frameworks
  • #4571: Improve xmake test output
  • #4609: Improve to detect vs build tool envirnoments
  • #4614: Support android ndk 26b
  • #4473: Enable warning output by default
  • #4477: Improve runtimes to support libc++/libstdc++
  • #4657: Improve to select script pattern
  • #4673: Refactor modules support @Arthapz
  • #4746: Add native modules support for cmake generator

Bugs Fixed

  • #4596: Fix remote build cache
  • #4689: Fix deps inherit

新特性

  • #4544: 改进 xmake test,支持等待进程超时
  • #4606: 为 package 添加 add_versionfiles 接口
  • #4709: 添加 cosmocc 工具链支持
  • #4715: 在描述域添加 is_cross() 接口
  • #4747: 添加 build.always_update_configfiles 策略

改进

  • #4575: 检测无效的域参数
  • 添加更多的 loong64 支持
  • 改进 dlang/dmd 对 frameworks 的支持
  • #4571: 改进 xmake test 的输出支持
  • #4609: 改进探测 vs 构建工具环境
  • #4614: 改进支持 android ndk 26b
  • #4473: 默认启用警告输出
  • #4477: 改进 runtimes 去支持 libc++/libstdc++
  • #4657: 改进脚本的模式匹配
  • #4673: 重构模块支持
  • #4746: 为 cmake generator 添加原生 c++ modules 支持

Bugs 修复

  • #4596: 修复远程构建缓存
  • #4689: 修复目标依赖继承

Full Changelog: v2.8.6...v2.8.7

xmake v2.8.6

26 Dec 03:18
Compare
Choose a tag to compare

New features

  • Add network.mode policy
  • #1433: Add xmake pack command to generate NSIS/zip/tar.gz/rpm/srpm/runself packages like cmake/cpack
  • #4435: Support batchsize for UnityBuild in Group Mode
  • #4485: Support package.install_locally
  • Support NetBSD

Changes

  • #4484: Improve swig rule
  • Improve Haiku support

Bugs fixed

  • #4372: Fix protobuf rules
  • #4439: Fix asn1c rules

新特性

  • 添加 network.mode 策略
  • #1433: 添加 xmake pack 命令去生成 NSIS/zip/tar.gz/rpm/srpm/runself 安装包
  • #4435: 为 UnityBuild 的组模式增加 batchsize 支持
  • #4485: 新增 package.install_locally 策略支持
  • 新增 NetBSD 支持

Changes

  • #4484: 改进 swig 规则
  • 改进 Haiku 支持

Bugs 修复

  • #4372: 修复 protobuf 规则
  • #4439: 修复 asn1c 规则

xmake v2.8.5

07 Nov 12:50
Compare
Choose a tag to compare

New features

  • #1452: Improve link mechanism and order
  • #1438: Support code amalgamation
  • #3381: Add xmake test support
  • #4276: Support custom scope api
  • #4286: Add Apple XROS support
  • #4345: Support check sizeof
  • #4369: Add windows.manifest.uac policy

Changes

  • #4284: Improve builtin includes

Bugs fixed

  • #4256: Fix intellisense for vsxmake/c++modules

新特性

  • #1452: 支持链接顺序调整,链接组
  • #1438: 支持代码 amalgamation
  • #3381: 添加 xmake test 支持
  • #4276: 支持自定义域 API
  • #4286: 添加 Apple XROS 支持
  • #4345: 支持检测类型大小 sizeof
  • #4369: 添加 windows.manifest.uac 策略

改进

  • #4284: 改进内置 includes 模块

Bugs 修复

  • #4256: 为 vsxmake 生成器修复 c++ modules intellisense

xmake v2.8.3

26 Sep 08:30
Compare
Choose a tag to compare

New features

  • #4122: Support Lua Debugger (EmmyLua)
  • #4132: Support cppfront
  • #4147: Add hlsl2spv rule
  • #4226: Support sanitizers for package and policy
  • Add lib.lua.package module
  • Add run.autobuild policy
  • Add global policies xmake g --policies=

Changes

  • #4119: Improve to support emcc toolchain and emscripten package
  • #4154: Add xmake -r --shallow target to rebuild target without deps
  • Add global ccache storage directory
  • #4137: Support Qt6 for Wasm
  • #4173: Add recheck argument to on_config
  • #4200: Improve remote build to support debugging xmake source code.
  • #4209: Add extra and pedantic warnings

Bugs fixed

  • #4110: Fix extrafiles
  • #4115: Fix compile_commands generator for clangd
  • #4199: Fix compile_commands generator for c++ modules
  • Fix os.mv fail on window
  • #4214: Fix rust workspace build error

新特性

  • #4122: 支持 Lua 调试 (EmmyLua)
  • #4132: 支持 cppfront
  • #4147: 添加 hlsl2spv 规则
  • 添加 lib.lua.package 模块
  • #4226: 新增 asan 相关策略和对包的支持
  • 添加 run.autobuild 策略开启运行前自动构建
  • 添加全局策略 xmake g --policies=

改进

  • #4119: 改进支持 emcc 工具链和 emscripten 包的整合
  • #4154: 添加 xmake -r --shallow target 去改进重建目标,避免重建所有依赖目标
  • 添加全局 ccache 存储目录
  • #4137: 改进 Qt,支持 Qt6 for Wasm
  • #4173: 添加 recheck 参数到 on_config
  • #4200: 改进远程构建,支持调试本地 xmake 源码
  • #4209: 添加 extra 和 pedantic 警告

Bugs 修复

  • #4110: 修复 extrafiles
  • #4115: 修复 compile_commands 生成器
  • #4199: 修复 compile_commands 生成器对 c++ modules 的支持
  • 修复 os.mv 在 windows 上跨驱动盘失败问题
  • #4214: 修复 rust workspace 构建问题

xmake v2.8.2

22 Aug 14:57
Compare
Choose a tag to compare

New features

  • #4002: Add soname and version support
  • #1613: Add avx512 and sse4.2 for add_vectorexts
  • #2471: Add set_encodings to set source/target encodings
  • #4071: Support the stm8 assembler on the sdcc toolchain.
  • #4101: Add force includes for c/c++
  • #2384: Add extrafiles for vs/vsxmake generator

Changes

  • #3960: Improve msys2/crt64 support
  • #4032: Remove some old deprecated apis
  • Improve to upgrade vcproj files in tools.msbuild
  • Support add_requires("xmake::xxx") package
  • #4049: Improve rust to support cross-compilation
  • Improve clang modules support

Bugs fixed

  • Fix exit all child processes on macOS/Linux

新特性

  • #4002: 增加 soname 支持
  • #1613: 为 add_vectorexts 增加 avx512 和 sse4.2 支持
  • #2471: 添加 set_encodings API 去设置源文件和目标文件的编码
  • #4071: 支持 sdcc 的 stm8 汇编器
  • #4101: 为 c/c++ 添加 force includes
  • #2384: 为 vs/vsxmake 生成器添加 add_extrafiles 接口

改进

  • #3960: 改进 msys2/crt64 支持
  • #4032: 移除一些非常老的废弃接口
  • 改进 tools.msbuild 升级 vcproj 文件
  • 支持 add_requires("xmake::xxx") 包
  • #4049: 改进 Rust 支持交叉编译
  • 改进 clang 下 c++ modules 支持

Bugs 修复

  • 修复 macOS/Linux 上子子进程无法快速退出问题

xmake v2.8.1

11 Jul 03:38
Compare
Choose a tag to compare

New features

  • #3821: Add longpath option for windows installer
  • #3828: Add support for zypper package manager
  • #3871: Improve tools.msbuild to support for upgrading vsproj
  • #3148: Support grpc for protobuf
  • #3889: Support to add library path for add_links
  • #3912: Add set_pmxxheader to support objc precompiled header
  • add_links support library file path

Changes

  • #3752: Improve os.getenvs for windows
  • #3371: Improve tools.cmake to support ninja generator for wasm
  • #3777: Improve to find package from pkg-config
  • #3815: Improve tools.xmake to pass toolchains for windows
  • #3857: Improve to generate compile_commands.json
  • #3892: Improve to search packages from description
  • #3916: Improve to build swift program, support for multiple modules
  • Update lua runtime to 5.4.6

Bugs fixed

  • #3755: Fix find_tool from xmake/packages
  • #3787: Fix packages from conan 2.x
  • #3839: Fix vs_runtime for conan 2.x

新特性

  • #3821: windows 安装器添加长路径支持选项
  • #3828: 添加 zypper 包管理器支持
  • #3871: 改进 tools.msbuild 支持对 vsproj 进行自动升级
  • #3148: 改进 protobuf 支持 grpc
  • #3889: add_links 支持库路径添加
  • #3912: 添加 set_pmxxheader 去支持 objc 预编译头
  • add_links 支持库文件路径

改进

  • #3752: 改进 windows 上 os.getenvs 的获取
  • #3371: 改进 tools.cmake 支持使用 ninja 去构建 wasm 包
  • #3777: 改进从 pkg-config 中查找包
  • #3815: 改进 tools.xmake 支持为 windows 平台传递工具链
  • #3857: 改进生成 compile_commands.json
  • #3892: 改进包搜索,支持从描述中找包
  • #3916: 改进构建 swift 程序,支持模块间符号调用
  • 更新 lua 运行时到 5.4.6

Bugs 修复

  • #3755: 修复 find_tool 从 xmake/packages 中查找程序
  • #3787: 修复从 conan 2.x 中使用包
  • #3839: 修复 conan 2.x 包的 vs_runtime 设置

xmake v2.7.9

15 May 08:18
Compare
Choose a tag to compare

New features

  • #3613: Add wasm.preloadfiles configuration for wasm
  • #3703: Support for conan >=2.0.5

Changes

  • #3669: Improve cmake generator to support add_cxflags with the given tool
  • #3679: Improve xrepo clean
  • #3662: Improve cmake/make generator for lex/yacc project
  • #3697: Improve trybuild/cmake
  • #3730: Improve c++modules package installation

Bugs fixed

  • #3596: Fix check_cxxfuncs and check_cxxsnippets
  • #3603: Fix xmake update
  • #3614: Fix qt envirnoment when running target
  • #3628: Fix msys2/mingw setenv and os.exec issue
  • Fix setenv for msys/mingw

新特性

  • #3613: 添加 wasm.preloadfiles 扩展配置
  • #3703: 支持 conan >=2.0.5

改进

  • #3669: 改进 cmake 生成器支持特定工具的 cxflags
  • #3679: 改进 xrepo clean
  • #3662: 改进 cmake/make 生成器去更好的支持 lex/yacc 工程
  • #3697: 改进 trybuild/cmake
  • #3730: 改进 c++modules 包安装,解决不同目录同名文件分发冲突问题

Bugs 修复

  • #3596: 修复 check_cxxfuncs 和 check_cxxsnippets
  • #3603: 修复 xmake update 的无效 url
  • #3614: 修复 xmake run 对 Qt 环境的加载
  • #3628: 修复 msys2/mingw 下 os.exec 总是优先查找错误的可执行程序
  • 修复 msys/mingw 下环境变量设置问题