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
- fix load unicode main script path on windows by @waruqi in #6926
- feat: Adds support for GCC 15 toolchain by @romeoxbm in #6929
- fix(C++ modules) if toolchain clang-scan-deps is not installed, fallback to system wide clang-scan-deps if available by @Arthapz in #6931
- Improve toolchain configs, add_toolchains("name[configs]") by @waruqi in #6924
- refactor(toolchain): Separate gcc/clang registration from definition by @romeoxbm in #6935
- fix target jobs #6933 by @waruqi in #6937
- improve file read by @waruqi in #6942
- Enhance Clang toolchain with LLD linker support by @star-hengxing in #6946
- add realtime_output for tests #6947 by @waruqi in #6952
- Fix modules support for vsxmake/vs generators by @waruqi in #6954
- sort build number in package by @waruqi in #6955
- Fix build failure caused by zigcc linker not supporting depfile. by @Redbeanw44602 in #6956
- Fix use zigcc with autotools when dynamic linking. by @Redbeanw44602 in #6959
- support specify cuda sdk version via cuda_sdkver by @choyy in #6964
- Improve tty by @waruqi in #6970
- feat(swift) add swift to C++ and objective-C interop by @Arthapz in #6967
- Add libtool patch for cross compile. by @Redbeanw44602 in #6963
- Support for multi-row refresh progress output by @waruqi in #6974
- fix(modules) strip sanitizers flags for module reusage by @Arthapz in #6983
- Fix the libdir inside the installed CMake import files by @MeanSquaredError in #6984
- improve(tty): support detect ghostty by @apocelipes in #6987
- nfc(xcode) refactor xcode toolchain, improve it and use it in llvm toolchain when targeting a apple device by @Arthapz in #6977
- Fix xmake tests modules by @Arthapz in #6993
- fix(modules) add all supported platforms for clang get_cpp_library_name by @Arthapz in #6992
- fix rootdir #6995 by @waruqi in #6999
- update tbox for process/argv by @waruqi in #6998
- fix(asn1c): include generated output as system headers by @gibbz00 in #7002
- limit get build envs in package configs by @waruqi in #7003
- Add async support in os APIs by @waruqi in #6989
- format code by @waruqi in #7008
- feat(modules) Dont rebuild packages and std when using -r flag by @Arthapz in #7004
- Fix Nimble find_package to use latest package list format by @tenten8401 in #6996
- fix sparse checkout #7007 by @waruqi in #7012
- remove deps when packaging #7001 by @waruqi in #7013
- fix: lock_packages typo by @qudix in #7017
- fix project default config in vsxmake #7014 by @waruqi in #7016
- disable build order only if dependency linking inheritance is disabled by @waruqi in #7018
- Improve xmake.sh/configure and add ninja generator support by @waruqi in #7019
- Update Qt ts rule by @RC1844 in #7023
- Make zig-cc inherit from clang by @moegodot in #7022
- Add json output for
xmake show -t targetby @waruqi in #7024 - Improve graph by @waruqi in #7027
- Add xml module by @waruqi in #7025
- improve to parse require by @waruqi in #7031
- improve to extract symbols by @waruqi in #7032
- Update xmake project help message for vs2026 by @SirLynix in #7034
- Improve clang format by @waruqi in #7037
- improve clang-tidy output for multi-line progress mode by @waruqi in #7038
- update tbox to fix process redirect by @waruqi in #7035
- Fix debug logging in cmake find_package by @MeanSquaredError in #7036
- fix passconfs by @waruqi in #7041
- Improve multi-row progress by @waruqi in #7040
- Fix fallback scanner creating circular dependencies out of thin air. by @RoqueDeicide in #7044
- improve progress refresh timer by @waruqi in #7043
- suppress clang-cl warnings #7049 by @waruqi in #7051
- Add more bsd CIs by @waruqi in #7054
- Optionally allow CMake system packages without include directories or linked libraries by @MeanSquaredError in #7046
- Add solaris platform by @waruqi in #7055
- improve ci by @waruqi in #7059
New Contributors
- @MeanSquaredError made their first contribution in #6984
- @apocelipes made their first contribution in #6987
- @gibbz00 made their first contribution in #7002
- @tenten8401 made their first contribution in #6996
- @moegodot made their first contribution in #7022
- @RoqueDeicide made their first contribution in #7044
Full Changelog: v3.0.4...v3.0.5