Skip to content

Releases: xmake-io/xmake

xmake v3.0.2

04 Sep 02:39
Compare
Choose a tag to compare

New features

  • #6755: Add native thread support
  • #6641: Add pkgenvs to target/config
  • #6644: Support .def file with clang
  • #6695: Add /uselocaltime to inf2cat args
  • #6709: Support for wasm64
  • #6737: Add python stub file extension to cython rule

Changes

  • #6651: Improve depfiles
  • #6656: Make build tools support passing in opt.targets
  • #6688: Improve to install targets
  • #6692: Improve protobuf test
  • #6714: Improve tests for c++ modules
  • #6719: Improve comax for config
  • #6725: Improve target:extrafiles

Bugs fixed

  • #6648: Fix(qt.qmltyperegistrar): Collect metatypes info
  • #6661: Fix prolonged blocking in _ping_via_wget by setting "--tries=1"
  • #6665: Fix cmake/mingw
  • #6674: Attempt to fix linkgroups in package
  • #6686: Fix compiler cache
  • #6698: Fix(c++ modules) handle empty modules
  • #6699: Fix(c++ modules) fix xmake not updating module mapper when module file is removed
  • #6706: Fix find_cudadevices for CUDA 13
  • #6707: Fix(c++ modules) fix sourcebatch caching
  • #6712: Fix(c++ modules) fix disabled target getting configured for module compilation
  • #6713: Fix(c++ modules) fix non .cpp file stealed from c++.build sourcebatch
  • #6715: Fix(c++ modules) fix public culled module incorrectly emiting a warning
  • #6718: Ignore pch flags
  • #6732: Fix: android ndk rust link-args
  • #6735: Fix(qt.qmltyperegistrar): Extend dependencies for rebuild
  • #6738: Fix protobuf for target deps
  • #6741: Fix vsxmake options
  • #6747: meminfo.c: no vmstat.compressor_page_count on < 10.7

新特性

  • #6755: 添加原生线程支持
  • #6641: 为 target/config 添加 pkgenvs
  • #6644: 支持使用 clang 编译 .def 文件
  • #6695: 为 inf2cat 添加 /uselocaltime 参数
  • #6709: 支持 wasm64 架构
  • #6737: 为 cython 规则添加 python 存根文件扩展

改进

  • #6651: 改进依赖文件
  • #6656: 使构建工具支持传入 opt.targets
  • #6688: 改进安装目标
  • #6692: 改进 protobuf 测试
  • #6714: 改进 C++ 模块测试
  • #6719: 改进 comax 配置
  • #6725: 改进 target:extrafiles

Bugs 修复

  • #6648: 修复(qt.qmltyperegistrar): 收集 metatypes 信息
  • #6661: 通过设置 "--tries=1" 修复 _ping_via_wget 长时间阻塞的问题
  • #6665: 修复 cmake/mingw
  • #6674: 尝试修复包中的 linkgroups
  • #6686: 修复编译器缓存
  • #6698: 修复(C++ 模块) 处理空模块
  • #6699: 修复(C++ 模块) 修复删除模块文件时 xmake 不更新模块映射器的问题
  • #6706: 修复 CUDA 13 的 find_cudadevices
  • #6707: 修复(C++ 模块) 修复 sourcebatch 缓存
  • #6712: 修复(C++ 模块) 修复禁用的目标被配置用于模块编译的问题
  • #6713: 修复(C++ 模块) 修复非 .cpp 文件从 c++.build sourcebatch 中被窃取的问题
  • #6715: 修复(C++ 模块) 修复公共剔除模块错误地发出警告的问题
  • #6718: 忽略 pch 标志
  • #6732: 修复: android ndk rust link-args
  • #6735: 修复(qt.qmltyperegistrar): 扩展依赖项以进行重建
  • #6738: 修复 protobuf 的目标依赖
  • #6741: 修复 vsxmake 选项
  • #6747: meminfo.c: < 10.7 版本上没有 vmstat.compressor_page_count

What's Changed

New Contributors

Full Changelog: v3.0.1...v3.0.2

xmake v3.0.1

18 Jul 03:35
Compare
Choose a tag to compare

New features

  • #4810: Add Native XCode project generator plugin

Bugs fixed

  • #6592: Fix objects only links
  • #6586: Fix build.fence policy
  • #6600: Fix compile_commands generator for c++modules
  • #6621: Fix android build for ndk r17c
  • #6635: Fix batchcmds for qt/moc

新特性

  • #4810: 添加新的原生 Xcode 工程生成插件

Bugs 修复

  • #6592: 修复 object 目标的链接问题
  • #6586: 修复 build.fence 策略
  • #6600: 修复 compile_commands 生成器
  • #6621: 修复 android ndk r17c 构建失败问题
  • #6635: 修复 batchcmds 导致的 qt/moc 增量构建问题

What's Changed

New Contributors

Full Changelog: v3.0.0...v3.0.1

xmake v3.0.0

15 Jun 13:22
Compare
Choose a tag to compare

New features

  • #5926: Add MIDL support
  • #6414: Add platform.windows.subsystem rule
  • #5527: Switch to 3.0 policies

Changes

  • #6202: Improve rule API and build dependency order
  • #5624: Enable auto build when calling xmake run by default
  • #5526: Use MD/MDd runtimes for msvc by default
  • #5545: Use ninja generator for cmake package by default
  • #6355: Support customizing implib path of MinGW/MSVC
  • #6373: Improve c++ modules support
  • #6376: Improve vsxmake generators for namespaces
  • #6209: Add build jobgraph support
  • #6361: Rename buildir to builddir

新特性

  • #5926: 添加 MIDL 支持
  • #6414: 添加 platform.windows.subsystem 规则
  • #5527: 切换到 3.0 行为策略

改进

  • #6202: 改进 rule API 和构建顺序支持,提供统一 jobgraph 调度
  • #5624: xmake run 运行默认自动构建
  • #5526: msvc 默认切换到 MD/MDd 运行时
  • #5545: 构建 cmake 包,默认使用 Ninja 生成器
  • #6355: 支持自定义 implib 路径和访问
  • #6373: 改进 c++ modules 支持
  • #6376: 改进 vsxmake 生成器,支持命名空间
  • #6209: 添加 jobgraph 支持
  • #6361: 重命名 buildir 到 builddir

What's Changed

Read more

xmake v2.9.9

08 Apr 01:59
Compare
Choose a tag to compare

New features

  • #6137: IDE integration
  • #6138: Use libxmake to build binary with xmake lua apis
  • #6154: Add kotlin language and kotlin-native compiler and packages support
  • #6279: Add msvc midl support

Changes

  • #6182: Support msstl modules for clang
  • #6281: Support Verilator target build to shared library
  • #6270: Improve conan generator
  • #6243: Improve llvm toolchain to support for cross platform
  • Support for CMake 4.0

Bugs fixed

  • #6292: Fix namespace issue

新特性

  • #6137: IDE 整合
  • #6138: 使用 libxmake/xmake APIs 去构建二进制
  • #6154: 添加 kotlin native 构建支持和包依赖集成支持
  • #6279: 添加 msvc midl 支持

改进

  • #6182: 改进 clang/clang-cl 支持 msstl 模块
  • #6281: 支持 Verilator 动态库
  • #6270: 改进 conan 生成器
  • #6243: 改进 llvm 工具链对交叉编译的支持
  • 三方包安装支持 CMake 4.0

Bugs 修复

  • #6292: 修复 namespace 问题

What's Changed

New Contributors

Full Changelog: v2.9.8...v2.9.9

xmake v2.9.8

04 Feb 14:56
Compare
Choose a tag to compare

New features

  • #5994: Profile process performance
  • #5995: Add profile support for vs generator
  • #5949: Add rule nodejs.module
  • #3380: Add namespace support
  • #5945: Check pkgconfig/cmake importfiles for package
  • #6054: Add xmake bundle for linux
  • #6071: Improve to download package for git url, support for sparse-checkout
  • #5163: Support TI-CGT C2000/C6000 compiler
  • #5344: Support IAR ARM C/C++ compiler
  • #5554: Add custom unknown toolchains support

Changes

  • #6056: Build and release xmake/arm64 on windows.
  • #6097: Add qt_host Option to Enable Cross-Platform Qt Builds Using Host SDK Tools
  • #6120: Add custom preprocessor for configfiles
  • #6088: Improve configfiles to generate export macro

Bugs fixed

  • #272: Fix xmake stuck when readfile always return zero for msvc + /O1
  • #6089: Fix depend.is_changed for cuda

新特性

  • #5994: 分析进程执行性能
  • #5995: 为 vs generator 添加 profile 支持
  • #5949: 添加 nodejs.module 规则
  • #3380: 添加命名空间支持
  • #5945: 检测 pkgconfig/cmake 导入文件
  • #6054: 为 linux 添加 xmake bundle 包
  • #6071: 改进 git 包下载,支持仅仅 clone 指定子目录
  • #5163: 支持 TI-CGT C2000/C6000 编译器
  • #5344: 支持 IAR ARM C/C++ 编译器
  • #5554: 添加自定义未知工具链支持

改进

  • #6056: 添加 CI 去构建发布 windows arm64 版本。
  • #6097: 添加 qt_host 支持交叉编译 Qt 项目
  • #6120: 改进 configfiles 添加自定义预处理支持
  • #6088: 改进 configfiles 去生成导出宏

Bugs 修复

  • #272: 修复 msvc + /O1 时候,错误的编译器优化导致 xmake 加载卡住
  • #6089: 修复 depend.is_changed

What's Changed

New Contributors

Full Changelog: v2.9.7...v2.9.8

xmake v2.9.7

19 Dec 08:46
Compare
Choose a tag to compare

New features

  • #5813: Add before_config and after_config for rule
  • #5848: Support custom MSVC build tools, e.g. PortableBuildTools and msvc-wine
  • #5880: Use msvc package to build project
  • #5884: Add installtips for package
  • #5894: Add package.merge_staticlibs policy to merge package libs
  • #5948: Add lua.native-object rule
  • #5911: Support for nuget packages

Changes

  • #5817: Improve default pic for packages
  • #5869: Add libstdc++ standard library modules support for gcc
  • #5923: Solve the package version and configs conflict

Bugs fixed

  • #5856: Fix compile c++modules for clang
  • #5858: Fix the precompiled header for gcc

新特性

  • #5813: 为 rule 添加 before_configafter_config
  • #5848: 支持自定义 MSVC 构建工具, PortableBuildTools 和 msvc-wine
  • #5880: 支持使用 msvc 包去构建工程
  • #5884: 为包添加自定义安装提示
  • #5894: 添加 package.merge_staticlibs 策略去合并包安装的静态库
  • #5948: 添加 lua.native-object 规则
  • #5911: 支持 nuget 包集成

改进

  • #5817: 改进安装包的默认 pic 配置
  • #5869: 为 gcc 添加 libstdc++ 标准库模块的支持
  • #5923: 解决包依赖链中版本和配置冲突

Bugs 修复

  • #5856: 修复 c++modules 在 clang 下的编译
  • #5858: 修复 gcc 的头文件预编译问题

What's Changed

New Contributors

Full Changelog: v2.9.6...v2.9.7

xmake v2.9.6

30 Oct 08:08
Compare
Choose a tag to compare

New features

  • #5527: Add set_policy("compatibility.version", "3.0") to preview v3.0 features.
  • #5649: Add package.check_fcsnippets

Changes

  • #5631: Add as_needed for add_linkgroups
  • #5702: Improve hash module
  • #5688: Improve hashset module
  • #5711: Support to parse include deps for sdcc
  • #5727: Improve configs for add_requires
  • #5762: Improve bin2c speed

Bugs fixed

  • #5645: Fix xmake watch for linux
  • #5686: Fix module scanning

新特性

  • #5527: 添加 set_policy("compatibility.version", "3.0") 提前预览体验 3.0 特性
  • #5649: 添加 package.check_fcsnippets

改进

  • #5631: 为 add_linkgroups 添加 as_needed
  • #5702: 改进 hash 模块
  • #5688: 改进 hashset
  • #5711: 为 sdcc 支持解析 include 依赖
  • #5727: 为 add_requires 改进 configs 配置
  • #5762: 改进 bin2c 速度

Bugs 修复

  • #5645: 修复 xmake watch 在 linux 无法监听递归文件问题
  • #5686: 修复模块扫描

What's Changed

New Contributors

Full Changelog: v2.9.5...v2.9.6

xmake v2.9.5

14 Sep 00:53
Compare
Choose a tag to compare

New features

  • #5462: Add xmake l cli.bisect
  • #5488: Support for using cosmocc to build xmake binary
  • #5491: Provide single xmake binary with embedded lua files
  • #5580: Add @builtin/xrepo to add envs for xrepo env shell

Changes

  • #5507: Use treeless to improve git.clone
  • #5536: Add jar generate in swig mode
  • #5573: Improve vsxmake generator performance
  • #5601: Improve utils.symbols.export_all rule to filter sourcefile path

Bugs fixed

  • #4750: Fix compile_commands generator for xmake tests
  • #5465: Fix lock package requires
  • #4760: Fix distcc client issue

新特性

  • #5462: 添加 xmake l cli.bisect
  • #5488: 支持使用 cosmocc 去构建 xmake 自身二进制
  • #5491: 支持提供内嵌 lua 文件的单个 xmake 二进制文件
  • #5580: 添加 @builtin/xrepo 辅助模块,为 xrepo env shell 实现快速设置环境变量

改进

  • #5507: 改进 git clone 下载速度
  • #5536: 在 swig 模式中添加 jar 生成支持
  • #5573: 改进 vsxmake generator 性能
  • #5601: 改进 utils.symbols.export_all 规则去过滤源文件路径

Bugs 修复

  • #4750: 修复 compile_commands 生成器,支持 xmake tests
  • #5465: 修复 package requires lock
  • #4760: 修复 distcc 分布式编译问题

What's Changed

New Contributors

Full Changelog: v2.9.4...v2.9.5

xmake v2.9.4

29 Jul 14:18
Compare
Choose a tag to compare

New features

  • #5278: Add build.intermediate_directory policy to disable and custom intermediate directory
  • #5313: Add windows arm/arm64ec support
  • #5296: Add Intel LLVM Fortran Compiler support
  • #5384: Add add_bindirs for package

Changes

  • #5280: Add missing C++20 Modules file extension
  • #5251: Update 7z/curl for windows installer
  • #5286: Improve json to parse hex string
  • #5302: Improve Vala support
  • #5335: Improve xmake install and xpack, Add set_prefixdir api for target
  • #5387: Improve xmake test
  • #5376: Improve module objectfiles handling and moduleonly package

Bugs Fixed

  • #5288: Fix xmake test for unity build
  • #5270: Fix pch/include for gcc/clang
  • #5276: Fix find vc6
  • #5259: Fix the failure of the command line completion function

新特性

  • #5278: 添加 build.intermediate_directory 策略去禁用中间目录生成
  • #5313: 添加 windows arm/arm64ec 支持
  • #5296: 添加 Intel LLVM Fortran 编译器支持
  • #5384: 为包添加 add_bindirs 配置支持

改进

  • #5280: 添加缺失的 C++20 Modules 文件扩展
  • #5251: 为 windows installer 更新内置的 7z/curl
  • #5286: 改进 json 支持16进制解析
  • #5302: 改进 Vala 支持
  • #5335: 改进 xmake installxpack,添加 set_prefixdir 接口
  • #5387: 改进 xmake test
  • #5376: 改进 C++ module 对象列表处理和 moduleonly 包支持

Bugs 修复

  • #5288: 修复 xmake test 对 Unity Build 的支持
  • #5270: 修复 gcc/clang 对 pch 的支持
  • #5276: 修复查找 vc6 环境
  • #5259: 修复命令补全失效问题

What's Changed

New Contributors

Full Changelog: v2.9.3...v2.9.4

xmake v2.9.3

24 Jun 06:00
Compare
Choose a tag to compare

New features

  • #4637: Add mix generator for xpack
  • #5107: Add deb generator for xpack
  • #5148: Add on_source in package

Changes

  • #5156: Improve to install cargo packages for rust

Bugs fixed

  • #5176: Fix VS toolset v144

新特性

  • #4637: 为 xpack 添加 mix 支持
  • #5107: 为 xpack 添加 deb 支持
  • #5148: 为包添加 on_source 配置域

改进

  • #5156: 改进安装 cargo 包

问题修复

  • #5176: 修复 VS toolset v144 支持

What's Changed

New Contributors

Full Changelog: v2.9.2...v2.9.3