Skip to content

Releases: xmake-io/xmake

xmake v3.0.8

23 Mar 22:37

Choose a tag to compare

New features

  • #7398: Add C# language and dotnet toolchain support
  • #7410: Add C# and C/C++ interop support via P/Invoke
  • #7360: Support custom templates
  • #7367: Add xmake create --list and remote template distribution
  • #7313: Add build.release.strip policy
  • #7333: Add winos.file_signature function
  • #7336: Add support for running wasi target
  • #7346: Add nnd debugger support
  • #7366: Add tarxz pack format

Changes

  • #7416: Switch xmake.cli rule from bin2c to bin2obj
  • #7309: Keep package source
  • #7310: Improve check tips
  • #7311: Improve Xcode toolchain
  • #7312: Improve binutils to support wasm
  • #7320: Add haiku ci
  • #7329: Improve qt deploy for macapp
  • #7349: Strip embed-dir on clang/gcc for C++ modules
  • #7368: Move templates to repository
  • #7383: Split zig toolchain to zig/zigcc
  • #7384: Improve find_hdk
  • #7387: Show target name in progress
  • #7391: Improve to find package with vcpkg features
  • #7392: Fix zig for shared libraries
  • #7396: Improve vcpkg
  • #7399: Extend formatting to C++ modules
  • #7409: Improve ldc on windows

Bugs fixed

  • #7299: Fix dependency handling for vcpkg
  • #7316: Fix components typo
  • #7318: Update tbox to fix tolower/toupper
  • #7339: Update tbox to fix start process on win7
  • #7344: Fix swig jar package module
  • #7345: Fix check clang info
  • #7341: Fix WASM QT 6.9
  • #7356: Fix issue #7354
  • #7371: Fix test verbose output
  • #7386: Fix install script incompatibility with coreutils 9.10
  • #7393: Fix build target validation

新特性

  • #7398: 添加 C# 语言和 dotnet 工具链支持
  • #7410: 添加 C# 和 C/C++ 通过 P/Invoke 互操作支持
  • #7360: 支持自定义模板
  • #7367: 添加 xmake create --list 和远程模板分发
  • #7313: 添加 build.release.strip 策略
  • #7333: 添加 winos.file_signature 函数
  • #7336: 添加运行 wasi 目标支持
  • #7346: 添加 nnd 调试器支持
  • #7366: 添加 tarxz 打包格式

改进

  • #7416: xmake.cli 规则从 bin2c 切换到 bin2obj
  • #7309: 保持包源信息
  • #7310: 改进检测提示
  • #7311: 改进 Xcode 工具链
  • #7312: 改进 binutils 支持 wasm
  • #7320: 添加 haiku ci
  • #7329: 改进 qt deploy 对 macapp 的支持
  • #7349: 改进 C++ 模块的 clang/gcc embed-dir 处理
  • #7368: 迁移模板到仓库
  • #7383: 拆分 zig 工具链为 zig/zigcc
  • #7384: 改进 find_hdk
  • #7387: 在进度中显示目标名称
  • #7391: 改进通过 vcpkg features 查找包
  • #7392: 修复 zig 共享库
  • #7396: 改进 vcpkg
  • #7399: 扩展格式化到 C++ 模块
  • #7409: 改进 Windows 上的 ldc

Bugs 修复

  • #7299: 修复 vcpkg 依赖处理
  • #7316: 修复 components 拼写错误
  • #7318: 更新 tbox 修复 tolower/toupper
  • #7339: 更新 tbox 修复 win7 启动进程问题
  • #7344: 修复 swig jar 包模块
  • #7345: 修复检测 clang 信息
  • #7341: 修复 WASM QT 6.9
  • #7356: 修复 issue #7354
  • #7371: 修复测试详细输出
  • #7386: 修复安装脚本与 coreutils 9.10 的不兼容
  • #7393: 修复构建目标验证

What's Changed

Read more

xmake v3.0.7

10 Feb 01:28

Choose a tag to compare

New features

  • #7178: Switch Verilator build file parsing from cmake to json format
  • #7186: Add alpine ci
  • #7187: Add suffix support for CUDA architecture
  • #7190: Nix Package Manager: Add Semantic Versioning and Improve Version Selection
  • #7189: Add package schemes
  • #7208: Support dynamic mkspec selection for Qt SDK
  • #7219: Add cli.iconv module
  • #7235: Add string case conversion functions: lower and upper
  • #7246: Add utf8 module
  • #7268: Add dependency file generation for Nim source files
  • #7269: Add target architecture validation for cross-compilation in zig toolchain
  • #7274: Add os.access function for file access checking
  • #7284: Add --stdin
  • #7293: Add support for running wasm target in browser
  • #7300: Add libdir,includedir,bindir support for install/uninstall
  • #7295: Support test output files

Changes

  • #7203: Improve mingw toolchain
  • #7206: WDK: Add shared directory to KMDF include path
  • #7214: Improve warnings output
  • #7216: Improve requirelock
  • #7223: Improve NuGet library file matching with score-based selection
  • #7226: Improve to find clang-tidy
  • #7232: Improve linker.link_scripts
  • #7237: Update tbox to support case
  • #7240: Improve verilator flags
  • #7258: Improve qt xpack
  • #7262: Improve pch concurrently to other targets
  • #7260: Improve fpc
  • #7270: Improve to select scheme version
  • #7272: Enhance Nim support for shared libraries and rpath handling
  • #7273: Improve io.read and io.readfile
  • #7267: Enhance shell detection for Linux by checking parent process
  • #7278: Improve os.isexec
  • #7283: Enhance compile_commands support and add test cases
  • #7285: Improve Windows shell detection for cmd/powershell
  • #7286: Check long env values when detecting vs
  • #7280: Add target flags only for cross-compilation
  • #7290: Improve vcvars
  • #7302: Improve run process errors
  • #7306: Improve remote build with multi-host configuration and --host option
  • #7298: Add initial implementation for Windows DLL foo/main example

Bugs fixed

  • #7210: Fix package version
  • #7213: Fix installdir of imporfiles
  • #7231: Fix get flag in module support
  • #7245: Fix to select scheme version
  • #7259: Fix export c++ function symbols
  • #7266: Fix pch header extension
  • #7282: find_cuda: revert breaking change
  • #7294: Fix package toolchain
  • #7296: Fix find emsdk
  • #7202: Fix getfenv

新特性

  • #7178: 改进 Verilator 构建文件解析,从 cmake 格式切换到 json 格式
  • #7186: 添加 Alpine CI 支持
  • #7187: 为 CUDA 架构添加后缀支持
  • #7190: Nix 包管理器:添加语义化版本控制并改进版本选择
  • #7189: 添加包方案(package schemes)支持
  • #7208: 支持 Qt SDK 动态 mkspec 选择
  • #7219: 添加 cli.iconv 模块
  • #7235: 添加字符串大小写转换函数:lower 和 upper
  • #7246: 添加 utf8 模块
  • #7268: 为 Nim 源文件添加依赖文件生成
  • #7269: 为 zig 工具链添加交叉编译的目标架构验证
  • #7274: 添加 os.access 函数用于文件访问检查
  • #7284: 添加 --stdin 支持
  • #7293: 添加在浏览器中运行 wasm 目标的支持
  • #7300: 为安装/卸载添加 libdir、includedir、bindir 支持
  • #7295: 支持测试输出文件

改进

  • #7203: 改进 MinGW 工具链
  • #7206: WDK:为 KMDF 包含路径添加共享目录
  • #7214: 改进警告输出
  • #7216: 改进依赖锁定(requirelock)
  • #7223: 改进 NuGet 库文件匹配,采用基于分数的选择机制
  • #7226: 改进 clang-tidy 查找
  • #7232: 改进链接器脚本配置
  • #7237: 更新 tbox 库以支持大小写敏感
  • #7240: 改进 Verilator 标志处理
  • #7258: 改进 Qt xpack 打包
  • #7262: 改进预编译头文件(PCH)与其他目标的并发处理
  • #7260: 改进 Free Pascal 编译器支持
  • #7270: 改进方案版本选择机制
  • #7272: 增强 Nim 对共享库和 rpath 处理的支持
  • #7273: 改进 io.read 和 io.readfile 函数
  • #7267: 通过检查父进程增强 Linux 的 shell 检测
  • #7278: 改进 os.isexec 函数
  • #7283: 增强 compile_commands 支持并添加测试用例
  • #7285: 改进 Windows 的 cmd/powershell shell 检测
  • #7286: 检测 VS 时检查长环境变量值
  • #7280: 仅在交叉编译时添加目标标志
  • #7290: 改进 vcvars 处理
  • #7302: 改进运行进程错误处理
  • #7306: 改进远程构建,支持多主机配置和 --host 选项
  • #7298: 为 Windows DLL 的 foo/main 示例添加初始实现

Bugs 修复

  • #7210: 修复包版本问题
  • #7213: 修复导入文件的安装目录问题
  • #7231: 修复模块支持中的标志获取问题
  • #7245: 修复方案版本选择问题
  • #7259: 修复 C++ 函数符号导出问题
  • #7266: 修复预编译头文件扩展名问题
  • #7282: find_cuda:回滚破坏性变更
  • #7294: 修复包工具链问题
  • #7296: 修复 emsdk 查找问题
  • #7202: 修复 getfenv 函数

What's Changed

Read more

xmake v3.0.6

04 Jan 01:43

Choose a tag to compare

https://xmake.io/posts/xmake-update-v3.0.6.html

New features

  • #7141: Support disabling native app glue for Android
  • #7139: Add Android native app build support
  • #7127: Add deplibs support in binutils
  • #7120: Add extractlib support in binutils
  • #7106: Add /std:c++23preview support for MSVC
  • #7105: Add bin2obj support for glsl/hlsl2spv
  • #7103: Add bin2obj rule (faster than bin2c)
  • #7096: Add Flang toolchain support
  • #7094: Add xmake check syntax support
  • #7091: Add dynamic debugging support for MSVC
  • #7083: Add support for CUDA 11~13
  • #7071: Add Qt pack support
  • #7064: Add AppImage xpack format for Linux application packaging
  • #7062: Add dmg xpack format for macOS application packaging

Changes

  • #7149: Improve binutils to optimize rpath parsing
  • #7148: Update Zig examples
  • #7145: Improve Clang/LLVM runtime support
  • #7136: Improve clang-cl depfiles generation
  • #7135: Improve xrepo env to add session ID
  • #7155: Refactor Windows ASan for clang-cl (runtime linking, linker flags, PATH/CMAKE_LINKER_TYPE setup, toolchain streamlining)
  • #7109: Improve binutils to read symbols from binary file
  • #7102: Improve bin2c rule
  • #7098: Refactor and improve Golang support
  • #7095: Mark target/package/toolchain:memcache as public
  • #7093: Improve mirror repo URL
  • #7088: Improve C++/ObjC rules
  • #7087: Add type constraint for policy package.download.http_headers
  • #7069: Save Qt rules for LLVM toolchain
  • #7061: Update CI configuration
  • #7039: Update macOS CI

Bugs fixed

  • #7132: Fix clang-cl toolchain with ASan
  • #7125: Fix cosmocc CI
  • #7124: Fix default MSVC runtime for Clang toolchain
  • #7112: Fix change directory on Windows
  • #7104: Fix prepare for project generators
  • #7092: Fix Solaris build
  • #7086: Fix targetdir in Qt QML rule
  • #7085: Fix CMake flags for Clang toolchain
  • #7084: Fix pacman find_package
  • #7082: Fix checking Clang CUDA flags
  • #7081: Fix get_headerunit_key
  • #7074: Fix libc++ cannot find std module
  • #7067: Fix get_stdmodules with cross toolchain

新特性

  • #7141: 支持禁用 Android 原生应用 glue
  • #7139: 添加 Android 原生应用构建支持
  • #7127: 为 binutils 添加 deplibs 支持
  • #7120: 为 binutils 添加 extractlib 支持
  • #7106: 为 MSVC 添加 /std:c++23preview 支持
  • #7105: 为 glsl/hlsl2spv 添加 bin2obj 支持
  • #7103: 添加 bin2obj 规则(比 bin2c 更快)
  • #7096: 添加 Flang 工具链支持
  • #7094: 添加 xmake check syntax 支持
  • #7091: 为 MSVC 添加动态调试支持
  • #7083: 添加对 CUDA 11~13 的支持
  • #7071: 添加 Qt 打包支持
  • #7064: 添加 AppImage xpack 格式用于 Linux 应用程序打包
  • #7062: 添加 dmg xpack 格式用于 macOS 应用程序打包

改进

  • #7149: 改进 binutils 优化 rpath 解析
  • #7148: 更新 Zig 示例
  • #7145: 改进 Clang/LLVM 运行时支持
  • #7136: 改进 clang-cl 依赖文件生成
  • #7135: 改进 xrepo env 以添加会话 ID
  • #7155: 重构 Windows 上 clang-cl 的 ASan 支持(改进运行库链接、链接器标志、完善 PATH/CMAKE_LINKER_TYPE 配置、精简工具链)
  • #7109: 改进 binutils 以从二进制文件读取符号
  • #7102: 改进 bin2c 规则
  • #7098: 重构并改进 Golang 支持
  • #7095: 将 target/package/toolchain:memcache 标记为公开
  • #7093: 改进镜像仓库 URL
  • #7088: 改进 C++/ObjC 规则
  • #7087: 为策略 package.download.http_headers 添加类型约束
  • #7069: 为 LLVM 工具链保存 Qt 规则
  • #7061: 更新 CI 配置
  • #7039: 更新 macOS CI

Bugs 修复

  • #7132: 修复带有 ASan 的 clang-cl 工具链
  • #7125: 修复 cosmocc CI
  • #7124: 修复 Clang 工具链的默认 MSVC 运行时
  • #7112: 修复 Windows 上的目录切换
  • #7104: 修复项目生成器的准备工作
  • #7092: 修复 Solaris 构建
  • #7086: 修复 Qt QML 规则中的 targetdir
  • #7085: 修复 Clang 工具链的 CMake 标志
  • #7084: 修复 pacman find_package
  • #7082: 修复 Clang CUDA 标志检查
  • #7081: 修复 get_headerunit_key
  • #7074: 修复 libc++ 找不到 std 模块
  • #7067: 修复交叉编译工具链的 get_stdmodules

What's Changed

Read more

xmake v3.0.5

25 Nov 00:56

Choose a tag to compare

Introduction

New features

  • #7055: Add Solaris platform support (i386, x86_64)
  • #7054: Add support for additional BSD systems (NetBSD, OpenBSD, DragonflyBSD)
  • #6929: Add support for GCC 15 toolchain
  • #6967: Add Swift interop support for C++ and Objective-C
  • #6964: Support specifying CUDA SDK version via cuda_sdkver
  • #6963: Add libtool patch support for cross compilation
  • #6974: Support multi-row refresh for progress output
  • #7024: Add JSON output format for xmake show -t target
  • #7025: Add XML module with parsing and encoding support
  • #6989: Add async support for os APIs

Changes

  • #6924: Improve toolchain configuration with add_toolchains("name[configs]") syntax
  • #6935: Refactor toolchain: separate gcc/clang registration from definition
  • #6942: Improve file reading performance
  • #6946: Add LLD linker support for Clang toolchain
  • #6970: Improve TTY handling and output
  • #6977: Refactor Xcode toolchain and integrate it into LLVM toolchain for Apple devices
  • #6987: Add Ghostty terminal detection support
  • #7003: Limit build environment retrieval in package configurations
  • #7008: Format code style
  • #7004: Skip rebuilding packages and std modules when using -r flag
  • #7019: Improve xmake.sh/configure script and add Ninja generator support
  • #7023: Update Qt TypeScript rule
  • #7022: Make zig-cc toolchain inherit from clang
  • #7027: Improve graph module performance
  • #7031: Improve require parsing
  • #7032: Improve symbol extraction
  • #6952: Add realtime output support for tests
  • #6998: Update tbox library for process/argv support
  • #7037: Improve xmake format
  • #7038: Improve clang-tidy output handling

Bugs fixed

  • #6926: Fix loading Unicode main script path on Windows
  • #6931: Fix C++ modules: fallback to system-wide clang-scan-deps when toolchain version is not installed
  • #6937: Fix target jobs handling
  • #6954: Fix modules support for vsxmake/vs generators
  • #6955: Fix build number sorting in packages
  • #6956: Fix build failure when using zigcc linker that doesn't support depfile
  • #6959: Fix using zigcc with autotools for dynamic linking
  • #6983: Fix modules: strip sanitizer flags for module reuse
  • #6984: Fix libdir path in installed CMake import files
  • #6993: Fix xmake test modules
  • #6992: Fix modules: add all supported platforms for clang get_cpp_library_name
  • #6999: Fix rootdir handling
  • #7002: Fix asn1c: include generated output as system headers
  • #6996: Fix Nimble find_package to use latest package list format
  • #7012: Fix sparse checkout handling
  • #7013: Fix removing dependencies when packaging
  • #7017: Fix lock_packages typo
  • #7016: Fix project default configuration in vsxmake
  • #7018: Fix build order: only disable when dependency linking inheritance is disabled
  • #7035: Fix process redirection issues by updating tbox

介绍

新特性

  • #7055: 添加 Solaris 平台支持 (i386, x86_64)
  • #7054: 添加更多 BSD 系统支持 (NetBSD, OpenBSD, DragonflyBSD)
  • #6929: 添加 GCC 15 工具链支持
  • #6967: 为 C++ 和 Objective-C 添加 Swift 互操作支持
  • #6964: 支持通过 cuda_sdkver 参数指定 CUDA SDK 版本
  • #6963: 为交叉编译添加 libtool 补丁支持
  • #6974: 支持多行刷新进度输出显示
  • #7024: 为 xmake show -t target 命令添加 JSON 格式输出
  • #7025: 添加 XML 模块,支持解析和编码功能
  • #6989: 为 os API 添加异步操作支持

改进

  • #6924: 改进工具链配置,支持 add_toolchains("name[configs]") 语法
  • #6935: 重构工具链:将 gcc/clang 的注册与定义分离
  • #6942: 改进文件读取性能
  • #6946: 为 Clang 工具链添加 LLD 链接器支持
  • #6970: 改进 TTY 处理和输出显示
  • #6977: 重构 Xcode 工具链,并将其集成到针对 Apple 设备的 LLVM 工具链中
  • #6987: 添加 Ghostty 终端检测支持
  • #7003: 限制在包配置中获取构建环境变量
  • #7008: 统一代码格式风格
  • #7004: 使用 -r 标志时跳过重建包和 std 模块
  • #7019: 改进 xmake.sh/configure 脚本并添加 Ninja 生成器支持
  • #7023: 更新 Qt TypeScript 规则
  • #7022: 使 zig-cc 工具链继承自 clang
  • #7027: 改进 graph 模块性能
  • #7031: 改进 require 解析功能
  • #7032: 改进符号提取功能
  • #6952: 为测试添加实时输出支持
  • #6998: 更新 tbox 库以支持 process/argv
  • #7037: 改进 xmake format 功能
  • #7038: 改进 clang-tidy 输出处理

Bugs 修复

  • #6926: 修复在 Windows 上加载包含 Unicode 字符的主脚本路径问题
  • #6931: 修复 C++ 模块:当工具链的 clang-scan-deps 未安装时,自动回退到系统级的 clang-scan-deps
  • #6937: 修复目标任务处理问题
  • #6954: 修复 vsxmake/vs 生成器的模块支持问题
  • #6955: 修复包中构建号的排序问题
  • #6956: 修复使用不支持 depfile 的 zigcc 链接器导致的构建失败
  • #6959: 修复在动态链接场景下使用 zigcc 与 autotools 的问题
  • #6983: 修复模块:为模块重用场景去除 sanitizer 标志
  • #6984: 修复已安装的 CMake 导入文件中的 libdir 路径问题
  • #6993: 修复 xmake 测试模块相关问题
  • #6992: 修复模块:为 clang get_cpp_library_name 添加所有支持的平台
  • #6999: 修复 rootdir 处理问题
  • #7002: 修复 asn1c:将生成的输出文件作为系统头文件包含
  • #6996: 修复 Nimble find_package 以使用最新的包列表格式
  • #7012: 修复稀疏检出处理问题
  • #7013: 修复打包时移除依赖项的问题
  • #7017: 修复 lock_packages 的拼写错误
  • #7016: 修复 vsxmake 中的项目默认配置问题
  • #7018: 修复构建顺序:仅在禁用依赖链接继承时才禁用构建顺序
  • #7035: 通过更新 tbox 修复进程重定向问题

What's Changed

Read more

xmake v3.0.4

14 Oct 01:53

Choose a tag to compare

New features

  • #6864: Add default file filter for format task
  • #6843: Improve clang-tidy support
  • #6861: Rewrite of Nix Package Manager Support
  • #6850: Add package api checking
  • #6874: Add scriptdir to project packages
  • #6876: Add versionfiles checker
  • #6884: Add msystem support on msys2
  • #6891: Add coroutine semaphore
  • #6894: Add llvm-nm for clang toolchain
  • #6918: Add copy_if_different in os.cp

Changes

  • #6846: Improve cmake default flags
  • #6849: Improve jobgraph
  • #6859: Improve to check target flags
  • #6858: Modify config flags order
  • #6854: Improve os.curdir/os.cd
  • #6866: Improve os.getenvs
  • #6867: Make sure generic options are always inserted
  • #6870: chore(vcpkg): bump default baseline hash of vcpkg
  • #6880: Update cmake_importfiles.lua
  • #6872: Improve hash
  • #6886: Decrease jobs count in jobgraph
  • #6890: Update cmake_importfiles.lua
  • #6892: Improve runjobs to reduce the time spent on coroutine scheduling
  • #6896: Add hash test
  • #6904: Improve clang to support for msvc envs
  • #6915: Improve to export def rules for binary

Bugs fixed

  • #6844: Fix version in auto-generated .pc.
  • #6851: Fix finding clang-scan-deps
  • #6857: Fix rc compiler with cmake in cross-compilation
  • #6809: fix(C++ modules) fix stdmodule priority
  • #6882: Fix: write package manifest.pathenvs in deterministic order
  • #6888: Fix clang toolchain package
  • #6889: Fix os.getenvs compat
  • #6900: package.tools.xmake: fix policies not being passed
  • #6901: package download: don't get submodules if disabled
  • #6907: package download: don't get submodules if disabled (branch version)

新特性

  • #6864: 为 format 任务添加默认文件过滤器
  • #6843: 改进 clang-tidy 支持
  • #6861: 重写 Nix 包管理器支持
  • #6850: 添加包 API 检查
  • #6874: 为项目包添加 scriptdir
  • #6876: 添加 versionfiles 检查器
  • #6884: 在 msys2 上添加 msystem 支持
  • #6891: 添加协程信号量
  • #6894: 为 clang 工具链添加 llvm-nm
  • #6918: 为 os.cp 添加 copy_if_different 支持

改进

  • #6846: 改进 cmake 默认标志
  • #6849: 改进 jobgraph
  • #6859: 改进检查目标标志
  • #6858: 修改配置标志顺序
  • #6854: 改进 os.curdir/os.cd
  • #6866: 改进 os.getenvs
  • #6867: 确保通用选项总是被插入
  • #6870: chore(vcpkg): 提升 vcpkg 的默认 baseline
  • #6880: 更新 cmake_importfiles.lua
  • #6872: 改进哈希
  • #6886: 减少 jobgraph 中的任务数
  • #6890: 更新 cmake_importfiles.lua
  • #6892: 改进 runjobs 以减少协程调度所花费的时间
  • #6896: 添加哈希测试
  • #6904: 改进 clang 以支持 msvc 环境
  • #6915: 改进为二进制文件导出 def 规则

Bugs 修复

  • #6844: 修复自动生成的 .pc 文件中的版本
  • #6851: 修复查找 clang-scan-deps
  • #6857: 修复在交叉编译中使用 cmake 的 rc 编译器
  • #6809: fix(C++ modules) 修复 stdmodule 优先级
  • #6882: 修复:以确定性顺序写入包清单 manifest.pathenvs
  • #6888: 修复 clang 工具链包
  • #6889: 修复 os.getenvs 兼容性
  • #6900: package.tools.xmake: 修复策略未被传递的问题
  • #6901: package download: 如果禁用,则不获取子模块
  • #6907: package download: 如果禁用,则不获取子模块 (分支版本)

What's Changed

Read more

xmake v3.0.3

21 Sep 00:28

Choose a tag to compare

New features

  • #6778: Add build.linker.output
  • #6779: Add #embed and embedirs support
  • #6787: Support for vs2026
  • #6785: Support clang and llvm for wdk rules
  • #6791: Add Nix Package Manager Support
  • #6800: Support nushell for xrepo env
  • #6796: Enable support of incomplete wdk

Changes

  • #6765: Improve bin2c to use native thread
  • #6771: Fix find gcc/gxx cache
  • #6777: Fix executable path for cmake
  • #6783: Fix build.c++.modules.std policy
  • #6744: Use a file for requires flags when --verbose or --diagnosis is supplied
  • #6780: Add benchmarks and optimize config/build targets
  • #6784: Continue to optimize building targets speed
  • #6793: Use musl to avoid glibc's version issue
  • #6788: Improve incremental build clang
  • #6811: Improve clang-tidy
  • #6810: Improve the default flags for cmake
  • #6801: Change compilers priority for gcc and clang
  • #6819: Improve show target
  • #6817: Improve build targets speed
  • #6822: Prioritize envs over repo cache
  • #6824: Improve has_flags
  • #6832: Optimize codesign

Bugs fixed

  • #6808: Fix xrepo env
  • #6821: Clean undefined vsvers
  • #6818: Fix Nix Package Detection in nix-shell Environment
  • #6798: Add external to the strippeable_flags for msvc

新特性

  • #6778: 添加 build.linker.output
  • #6779: 添加 #embed 和 embedirs 支持
  • #6787: 支持 vs2026
  • #6785: 为 wdk 规则支持 clang 和 llvm
  • #6791: 添加 Nix 包管理器支持
  • #6800: 为 xrepo env 支持 nushell
  • #6796: 启用不完整 wdk 的支持

改进

  • #6765: 改进 bin2c 使用原生线程
  • #6771: 修复 find gcc/gxx 缓存
  • #6777: 修复 cmake 的可执行文件路径
  • #6783: 修复 build.c++.modules.std 策略
  • #6744: 当提供 --verbose 或 --diagnosis 时使用文件来存储 requires 标志
  • #6780: 添加基准测试并优化配置/构建目标
  • #6784: 继续优化构建目标速度
  • #6793: 使用 musl 避免 glibc 版本问题
  • #6788: 改进 clang 增量构建
  • #6811: 改进 clang-tidy
  • #6810: 改进 cmake 的默认标志
  • #6801: 更改 gcc 和 clang 的编译器优先级
  • #6819: 改进 show target
  • #6817: 改进构建速度
  • #6822: 优先使用环境变量而不是仓库缓存
  • #6824: 改进 has_flags
  • #6832: 优化代码签名

Bugs 修复

  • #6808: 修复 xrepo env
  • #6821: 清理未定义的 vsvers
  • #6818: 修复 nix-shell 环境中的 Nix 包检测
  • #6798: 为 msvc 的 strippeable_flags 添加 external

What's Changed

New Contributors

Full Changelog: v3.0.2...v3.0.3

xmake v3.0.2

04 Sep 02:39

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

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

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

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