New features
- #7430: Add C interop support for the Zig toolchain
- #7443: Add
utils.replacebuilt-in rule - #7437: Upgrade built-in Lua runtime to 5.5
- #7446: Add Fil-C toolchain support
- #7489: vsxmake: generate
.csprojfor C# targets - #7491: Add
xrepo info --depgraphto print the package dependency graph - #7490: Support exporting the target dependency graph as JSON or DOT
- #7518: Add aria2 download backend with multi-threaded support
- #7535: Add Huawei Ascend C toolchain support
Changes
- #7420: Improve zsh completions
- #7423: Improve
has_flagsdetection for cl / clang-cl - #7424: Improve code comments
- #7439: Switch
icxtoicx-ccon Windows - #7434: Improve nix package config and source selection
- #7440: Improve code comments
- #7435: Improve C++ module error messages
- #7461: Expose checker as a public API
- #7463: Bump package versions in C++ modules tests
- #7465: Bump C++ modules test versions again
- #7467: Parse
XMAKE_ROOT/XMAKE_STATSviaoption.boolean - #7478: Improve custom toolchain definition
- #7485: Improve
pairsbehavior for Lua 5.5 - #7505: Add NuGet package repository entry to README
- #7524: Add
lld-linkconfiguration support - #7529: Move clang PCH support into its own module
- #7542: Merge libs contributed by packages
Bugs fixed
- #7432: Fix
set_kind("test")handling - #7433: Fix xpack AppImage package naming
- #7445: Fix package local cache directory
- #7455: Avoid duplicate bundle rpath insertion in
xcode.application - #7451: Use the correct framework rpath for iOS apps in
xcode.application - #7449: Avoid leaking private dep flags into rebuilt BMIs for C++ modules
- #7470: Use
target_link_librariesto link object libraries in generated CMakeLists - #7477: Fix clang when using
c++_static - #7483: Fix syslink handling on MinGW
- #7493: Fix Qt cross-compilation
- #7495: Fix "cannot find known tool script for
ar.cmd" - #7500: Fix Linux kernel module
insmodfailure on kernel 6.12+ - #7502: Fix Rust build
- #7501: Fix Linux kernel module intermediate filenames
- #7503: Fix xpack deb / srpm packaging
- #7512: Handle Windows cross-compile prefix and install path in the Meson backend
- #7516: Restore missing
path.isdirAPI - #7520: Fix cl exception when probing flags
- #7523: Fix MSVC / Intel snippet detection when the temp path contains spaces
- #7525: Fix Zig CC stdlib and LTO flags
- #7527: Handle compiler / linker frontend variants more accurately when generating CMakeLists
- #7533: Support paths like
mingw/current/bininfind_mingw - #7538: Align ascendc flags with the Bisheng compiler user guide
- #7540:
xmake show -l targetsnow lists all targets regardless ofset_default - #7541: Fix
find_qtcache and dep config being overwritten during Qt cross-compilation - #7545: Expand builtin variables before calling
path.is_absoluteinadd_moduledirs
新特性
- #7430: 为 Zig 工具链添加 C 互操作支持
- #7443: 添加
utils.replace内置规则 - #7437: 内置 Lua 运行时升级到 5.5
- #7446: 添加 Fil-C 工具链支持
- #7489: vsxmake:为 C# 目标生成
.csproj - #7491: 添加
xrepo info --depgraph,用于打印包依赖图 - #7490: 支持将目标依赖图导出为 JSON / DOT 格式
- #7518: 添加支持多线程的 aria2 下载后端
- #7535: 添加华为 Ascend C 工具链支持
改进
- #7420: 改进 zsh 自动补全
- #7423: 改进 cl / clang-cl 的
has_flags检测 - #7424: 改进代码注释
- #7439: 在 Windows 上将
icx切换为icx-cc - #7434: 改进 nix 包配置和源选择
- #7440: 改进代码注释
- #7435: 改进 C++ 模块的错误提示
- #7461: 将 checker 暴露为公共 API
- #7463: 升级 C++ 模块测试中的包版本
- #7465: 再次升级 C++ 模块测试版本
- #7467: 使用
option.boolean解析XMAKE_ROOT/XMAKE_STATS - #7478: 改进自定义工具链定义
- #7485: 改进 Lua 5.5 下的
pairs行为 - #7505: 在 README 中添加 NuGet 包仓库入口
- #7524: 添加
lld-link配置支持 - #7529: 将 clang PCH 支持拆分到独立模块
- #7542: 合并 packages 提供的 libs
Bugs 修复
- #7432: 修复
set_kind("test")的处理 - #7433: 修复 xpack AppImage 包命名
- #7445: 修复 package 本地缓存目录
- #7455: 修复
xcode.application中重复插入 bundle rpath 的问题 - #7451: 修复
xcode.application中 iOS 应用的 framework rpath - #7449: 避免 C++ 模块重建 BMI 时泄漏私有依赖 flags
- #7470: 生成的 CMakeLists 改用
target_link_libraries链接 object libraries - #7477: 修复 clang 配合
c++_static使用的问题 - #7483: 修复 MinGW 下 syslink 的处理
- #7493: 修复 Qt 交叉编译
- #7495: 修复 "cannot find known tool script for
ar.cmd" - #7500: 修复内核 6.12+ 下 Linux 内核模块
insmod失败 - #7502: 修复 Rust 构建
- #7501: 修复 Linux 内核模块的中间文件名
- #7503: 修复 xpack deb / srpm 打包
- #7512: 修复 Meson 后端中 Windows 交叉编译的 prefix 和安装路径
- #7516: 修复
path.isdirAPI 缺失 - #7520: 修复探测 flags 时 cl 抛出的异常
- #7523: 修复 MSVC / Intel snippet 检测在 temp 路径含空格时失败
- #7525: 修复 Zig CC 的 stdlib 和 LTO flags
- #7527: 生成 CMakeLists 时更准确地处理编译器 / 链接器的 frontend 变体
- #7533:
find_mingw支持类似mingw/current/bin的路径 - #7538: 修复 ascendc flags,对齐 Bisheng 编译器用户指南
- #7540:
xmake show -l targets现在列出所有目标,不再受set_default影响 - #7541: 修复 Qt 交叉编译时
find_qt缓存和依赖配置被覆盖的问题 - #7545:
add_moduledirs中调用path.is_absolute前先展开内置变量
What's Changed
- improve zsh completions by @waruqi in https://github.com/xmake-io/xmake/pull/7420
- Improve cl/clang-cl has_flags by @waruqi in https://github.com/xmake-io/xmake/pull/7423
- add c interop support for zig by @waruqi in https://github.com/xmake-io/xmake/pull/7430
- improve comments by @waruqi in https://github.com/xmake-io/xmake/pull/7424
- fix setting test kind by @Shiffted in https://github.com/xmake-io/xmake/pull/7432
- fix name of xpack appimage package by @Shiffted in https://github.com/xmake-io/xmake/pull/7433
- switch icx to icx-cc on windows by @waruqi in https://github.com/xmake-io/xmake/pull/7439
- nix: improve config and source selection by @ZZBaron in https://github.com/xmake-io/xmake/pull/7434
- Improve comments by @waruqi in https://github.com/xmake-io/xmake/pull/7440
- add utils.replace rules by @waruqi in https://github.com/xmake-io/xmake/pull/7443
- update to lua5.5 by @waruqi in https://github.com/xmake-io/xmake/pull/7437
- Fil-C add toolchain by @luadebug in https://github.com/xmake-io/xmake/pull/7446
- improve module errors by @Shiffted in https://github.com/xmake-io/xmake/pull/7435
- fix package local dir by @waruqi in https://github.com/xmake-io/xmake/pull/7445
- fix(xcode.application): avoid duplicate bundle rpath insertion by @Akaps316 in https://github.com/xmake-io/xmake/pull/7455
- fix(xcode.application): use the correct framework rpath for iOS apps by @Akaps316 in https://github.com/xmake-io/xmake/pull/7451
- Improve checker to add publich api by @waruqi in https://github.com/xmake-io/xmake/pull/7461
- fix(c++/modules): avoid leaking private dep flags to rebuilt BMIs by @Akaps316 in https://github.com/xmake-io/xmake/pull/7449
- improve versions in c++ modules tests by @waruqi in https://github.com/xmake-io/xmake/pull/7463
- update module versions again by @waruqi in https://github.com/xmake-io/xmake/pull/7465
- 使用 option.boolean 解析 XMAKE_ROOT / XMAKE_STATS by @OpportunityLiu in https://github.com/xmake-io/xmake/pull/7467
- fix(cmakelists): use target_link_libraries to link object libraries by @ShrBox in https://github.com/xmake-io/xmake/pull/7470
- fix clang with c++_static by @waruqi in https://github.com/xmake-io/xmake/pull/7477
- Improve custom toolchain by @waruqi in https://github.com/xmake-io/xmake/pull/7478
- fix syslink case for mingw by @waruqi in https://github.com/xmake-io/xmake/pull/7483
- improve pairs for lua5.5 by @waruqi in https://github.com/xmake-io/xmake/pull/7485
- vsxmake: generate .csproj for C# targets by @waruqi in https://github.com/xmake-io/xmake/pull/7489
- Add xrepo info --depgraph by @waruqi in https://github.com/xmake-io/xmake/pull/7491
- Export target dependency graph as json/dot by @waruqi in https://github.com/xmake-io/xmake/pull/7490
- fix qt cross by @ThzShun in https://github.com/xmake-io/xmake/pull/7493
- fix "cannot find known tool script for ar.cmd" by @xiaozhu1337 in https://github.com/xmake-io/xmake/pull/7495
- fix linux module insmod failure on kernel 6.12+ by @ririyeye in https://github.com/xmake-io/xmake/pull/7500
- fix rust build by @waruqi in https://github.com/xmake-io/xmake/pull/7502
- Add NuGet package repo to README by @Tornamic in https://github.com/xmake-io/xmake/pull/7505
- fix linux module intermediate filenames by @ririyeye in https://github.com/xmake-io/xmake/pull/7501
- fix xpack/deb/srpm by @waruqi in https://github.com/xmake-io/xmake/pull/7503
- fix: handle Windows cross-compilation prefix and installation path in meson by @luadebug in https://github.com/xmake-io/xmake/pull/7512
- fix path does not have the isdir API by @ThzShun in https://github.com/xmake-io/xmake/pull/7516
- add aria2 download backend with multi-threaded support by @Zmmfly in https://github.com/xmake-io/xmake/pull/7518
- fix cl exception by @choyy in https://github.com/xmake-io/xmake/pull/7520
- Fix msvc/intel/snippet detect when temp path contains spaces by @DavidWang19 in https://github.com/xmake-io/xmake/pull/7523
- Fix zig cc stdlib and lto flags by @tgsong in https://github.com/xmake-io/xmake/pull/7525
- Move clang pch to its own module by @tgsong in https://github.com/xmake-io/xmake/pull/7529
- add lld-link config by @waruqi in https://github.com/xmake-io/xmake/pull/7524
- fix(find_mingw): Support paths like 'mingw/current/bin' and 'mingw/ve… by @NateVoid in https://github.com/xmake-io/xmake/pull/7533
- fix(ascendc): align flags with Bisheng compiler user guide by @wuzhenqing in https://github.com/xmake-io/xmake/pull/7538
- Add Huawei Ascend C toolchain support by @waruqi in https://github.com/xmake-io/xmake/pull/7535
- fix: show -l targets now lists all targets regardless of set_default by @bakabaka9405 in https://github.com/xmake-io/xmake/pull/7540
- fix qt cross by @ThzShun in https://github.com/xmake-io/xmake/pull/7541
- Handle compilers/linkers frontend variants more accurately when generating cmakelists file by @Northn in https://github.com/xmake-io/xmake/pull/7527
- Merge libs from packages by @waruqi in https://github.com/xmake-io/xmake/pull/7542
- fix: expand builtin variables before calling path.is_absolute in add_moduledirs by @bakabaka9405 in https://github.com/xmake-io/xmake/pull/7545
New Contributors
- @Akaps316 made their first contribution in https://github.com/xmake-io/xmake/pull/7455
- @ShrBox made their first contribution in https://github.com/xmake-io/xmake/pull/7470
- @ThzShun made their first contribution in https://github.com/xmake-io/xmake/pull/7493
- @Tornamic made their first contribution in https://github.com/xmake-io/xmake/pull/7505
- @DavidWang19 made their first contribution in https://github.com/xmake-io/xmake/pull/7523
- @NateVoid made their first contribution in https://github.com/xmake-io/xmake/pull/7533
- @wuzhenqing made their first contribution in https://github.com/xmake-io/xmake/pull/7538
- @bakabaka9405 made their first contribution in https://github.com/xmake-io/xmake/pull/7540
- @Northn made their first contribution in https://github.com/xmake-io/xmake/pull/7527
Full Changelog: https://github.com/xmake-io/xmake/compare/v3.0.8...v3.0.9