Releases: xmake-io/xmake
Releases · xmake-io/xmake
xmake v2.9.7
New features
- #5813: Add
before_config
andafter_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
新特性
- #5813: 为 rule 添加
before_config
和after_config
- #5848: 支持自定义 MSVC 构建工具, PortableBuildTools 和 msvc-wine
- #5880: 支持使用 msvc 包去构建工程
- #5884: 为包添加自定义安装提示
- #5894: 添加 package.merge_staticlibs 策略去合并包安装的静态库
- #5948: 添加
lua.native-object
规则 - #5911: 支持 nuget 包集成
改进
Bugs 修复
What's Changed
- Add riscv64 support for Android NDK projects by @ifarbod in #5772
- fix error when generating cmake by @cmolocznik in #5779
- fix bindir #5776 by @waruqi in #5780
- fix linker and compiler flags by @waruqi in #5782
- fix: #5777 nvcc warning by @Aurorabili in #5785
- allow using zig cc to compile assembly by @wenxuanjun in #5787
- improve vs/vsxmake group by @waruqi in #5795
- fix package by @waruqi in #5803
- Improve user experience by @Elite-stay in #5804
- add before/after_config #5791 by @waruqi in #5813
- improve default pic for packages by @waruqi in #5817
- add kylin support for linuxos module by @jinke18 in #5834
- improve cmake flags by @waruqi in #5827
- Support custom vc build tools by @star-hengxing in #5823
- add wine run support by @star-hengxing in #5849
- fix
WindowsSDKDir
->WindowsSdkDir
by @star-hengxing in #5851 - fix: reset locked repo before pulling by @qudix in #5853
- fix cmake flags by @waruqi in #5850
- feat(msys2): add
xmake.cmd
andxmake.ps1
for better integration with Windows cmd and powershell by @DeepChirp in #5854 - improve pacman packages by @waruqi in #5855
- fix package linkgroups #5806 by @waruqi in #5866
- maybe a bug: batchcmds by @jinke18 in #5875
- add symlink support for installfiles when using xpack by @jinke18 in #5876
- Fix msvc-wine with cmake package by @star-hengxing in #5871
- Improve copy pdb with cmake & ninja package by @star-hengxing in #5877
- Improve msvc toolchain for package by @waruqi in #5880
- add debugsource param to rule utils.glsl2spv by @dddddjent in #5879
- Add support for libstdc++ standard library modules by @Juvwxyz in #5869
- fix cmake & mingw detect cross-compilation on windows by @star-hengxing in #5888
- fix gcc modules by @waruqi in #5887
- add unknown package tips by @waruqi in #5889
- fix gcc pcheaders by @waruqi in #5896
- improve QML Plugin by @Doekin in #5903
- fix gcc pch #5858 by @waruqi in #5902
- Fix clang module parallel compile error. by @vrecluse in #5899
- Improve to package deps by @waruqi in #5901
- Add Werror and dry-run flags for clang-format by @jj683 in #5908
- Obtain MinGW's path from LLVM_MINGW_DIR/ROOT by @ifarbod in #5909
- Fix meson package build by @star-hengxing in #5912
- Limit adding /subsystem:windows to link.exe by @ifarbod in #5910
- Fix tinycc asm toolset by @star-hengxing in #5914
- Pass --sdk to dependencies by @UE4SS in #5918
- Use ccache when debug cmake package by @star-hengxing in #5919
- Fix /sourceDependencies not on one line when using msvc-wine by @UE4SS in #5920
- Improve zigcc support by @Redbeanw44602 in #5921
- Solve the package configs conflict by @waruqi in #5923
- Merge staticlibs for package by @waruqi in #5927
- fix speed test under non-english linux. by @Redbeanw44602 in #5929
- Fix package.merge_staticlibs by @star-hengxing in #5936
- fix loongarch support under zig toolchain. by @Redbeanw44602 in #5943
- add rule lua-native-object by @Freed-Wu in #5948
- Improve protobuf test by @star-hengxing in #5955
- improve package envs by @waruqi in #5959
- rename luarocks.module to lua.module, platform.linux.driver to platform.linux.module by @Freed-Wu in #5953
- fix nsis #5952 by @waruqi in #5964
- Fix incorrect Zig-CC toolchain wrapper path on Windows by @Doekin in #5967
- improve to parse linux module flags by @waruqi in #5975
- Clang: fix target triple for MinGW by @Doekin in #5980
- Support for nuget packages by @waruqi in #5981
- Fix typos about lua.native-objects by @Freed-Wu in #5985
New Contributors
- @cmolocznik made their first contribution in #5779
- @Aurorabili made their first contribution in #5785
- @wenxuanjun made their first contribution in #5787
- @qudix made their first contribution in #5853
- @DeepChirp made their first contribution in #5854
- @dddddjent made their first contribution in #5879
- @Juvwxyz made their first contribution in #5869
- @Doekin made their first contribution in #5903
- @vrecluse made their first contribution in #5899
- @jj683 made their first contribution in #5908
- @UE4SS made their first contribution in #5918
Full Changelog: v2.9.6...v2.9.7
xmake v2.9.6
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
foradd_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
新特性
- #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 修复
What's Changed
- Switch the default vs runtime as MD when 3.0 by @waruqi in #5626
- add support for "as_needed" by @KkemChen in #5628
- add NDEBUG for cuflags by @cherichy in #5633
- fix "as_needed" flag order by @KkemChen in #5631
- Allows installdir, bindir and libdir to be configured via opt arguments by @A2va in #5634
- add special language linker flags for package by @waruqi in #5644
- add package:check_fcsnippets by @waruqi in #5649
- improve program file for vsxmake #5642 by @waruqi in #5650
- fix testbuild for v3.0 by @waruqi in #5652
- Fix platform compatibility for _os_find and _os_date functions by @rennsax in #5655
- rename demo to cli by @waruqi in #5656
- improve host toolchain #5639 by @waruqi in #5643
- fix clang-cl toolchain #5658 by @waruqi in #5661
- use librarydep by @waruqi in #5666
- Improve object target for generator by @star-hengxing in #5667
- improve host by @waruqi in #5671
- shrink cmake arguments by @waruqi in #5678
- fix check toolchain by @waruqi in #5680
- feat(rules/iverilog): Improve the iverilog build rules by @24bit-xjkp in #5677
- improve hashset by @waruqi in #5688
- Fix module scanning by @Arthapz in #5686
- Improve hash by @waruqi in #5703
- Improve to Install target libs by @waruqi in #5706
- Support include deps for sdcc by @waruqi in #5715
- pass opt to tools/msbuild in tools/cmake by @wsw0108 in #5718
- add linkonly #5716 by @waruqi in #5725
- Make target:filerule able to match package rules by @SirLynix in #5730
- improve add_requires #5727 by @waruqi in #5736
- Update cmake_importfiles by @Yc7521 in #5733
- improve asan for clang-cl #5728 by @waruqi in #5742
- improve and cache searchdirs #5744 by @waruqi in #5748
- fix linux-driver build err by @ririyeye in #5749
- improve to object target #5729 by @waruqi in #5759
- Use native implementation to improve bin2c speed by @waruqi in #5762
- add linux_builddir fix ko build err by @ririyeye in #5766
New Contributors
- @KkemChen made their first contribution in #5628
- @rennsax made their first contribution in #5655
- @Yc7521 made their first contribution in #5733
Full Changelog: v2.9.5...v2.9.6
xmake v2.9.5
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 forxrepo 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
- fixbug: for cases when WindowsSDKVersion variable is not available by @jinke18 in #5411
- fixbug:nsis pack only support ascii path without blank space by @jinke18 in #5414
- improve pch filename for msvc #5413 by @waruqi in #5435
- fix protobuf objectfiles #5426 by @waruqi in #5437
- Don't treat x86_64 as cross on arm64 macOS by @SirLynix in #5442
- add /sdl, /Zc:inline and ExceptionHandling flag support for
xmake project -k vs
by @jinke18 in #5416 - Revert e26ea1c by @SirLynix in #5447
- find libfiles for pacman by @waruqi in #5446
- add clang toolchain version 19 & 20 by @c8ef in #5451
- fix cmake compilers #5448 by @waruqi in #5449
- fix(plugin/project): Generate compile_commands for tests by @24bit-xjkp in #5460
- Add
xmake l cli.bisect
by @waruqi in #5462 - fix lock repo by @waruqi in #5465
- improve to get pkgconf for meson by @waruqi in #5483
- fix packagedeps by @waruqi in #5484
- Support to build xmake using cosmocc by @waruqi in #5488
- improve flags support for cmake by @waruqi in #5487
- Add cosmocc ci by @waruqi in #5489
- fix rpath for #pull/5466 by @waruqi in #5498
- Add cli.archive and .xmz archive format by @waruqi in #5491
- Improve to check and load toolchain by @waruqi in #5466
- use treeless instead of depth1 by @waruqi in #5509
- improve treeless for git.clone by @waruqi in #5510
- Improve invalid path for package by @waruqi in #5511
- fix export_all when use export_filter on arch x86 by @ChrisCatCP in #5512
- fix install dylib for macos app #5515 by @waruqi in #5519
- use ALL_BUILD project build for msvc by @ChrisCatCP in #5523
- improve to run tests by @waruqi in #5522
- try use ninja for mingw by @waruqi in #5521
- fix lock packages #5532 by @waruqi in #5539
- fix windows wasm compilation with packages by @Chi-EEE in #5534
- use tar to extract .tar.gz by @waruqi in #5540
- Support multiple targets for package by @star-hengxing in #5537
- improve linker for package #5542 by @waruqi in #5543
- Fix vulkansdk searching for mingw platform by @yh-sb in #5549
- Add missing Linux platform triples in autoconf tool. by @Redbeanw44602 in #5548
- improve cosmocc for windows by @waruqi in #5553
- add client parameter to rule
utils.glsl2spv
by @milkiq in #5563 - fix requirekey for runtimes #5538 by @waruqi in #5567
- Add runtimes only if the ndk version is low enough by @A2va in #5565
- add build settings for conan by @waruqi in #5569
- improve to select runtimes by @waruqi in #5572
- Improve to copy file by @waruqi in #5570
- add jar generate in swig mode by @ririyeye in #5536
- fix bin path for cmake #5552 by @waruqi in #5579
- Fix cmake find_package on wasm by @star-hengxing in #5578
- add envs for xrepo #5580 by @waruqi in #5582
- improve clang.tidy by @waruqi in #5586
- optimize vsxmake render #5573 by @waruqi in #5588
- update upload-artifact to v4 by @waruqi in #5591
- fix #5589 by @Domain in #5590
- Improve fetch package by @waruqi in #5594
- improve tools.cmake for wasm by @waruqi in #5598
- Improve export all rule by @waruqi in #5608
- add install.strip_packagelibs by @waruqi in #5611
- add xmake bundle binary by @waruqi in #5612
- update lz4 by @waruqi in #5613
- download file using powershell by @waruqi in #5616
New Contributors
- @24bit-xjkp made their first contribution in #5460
- @Redbeanw44602 made their first contribution in #5548
- @milkiq made their first contribution in #5563
Full Changelog: v2.9.4...v2.9.5
xmake v2.9.4
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
andxpack
, Addset_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 install
和xpack
,添加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
- Revert wrong change in ebc4520 by @SirLynix in #5249
- Add armclang version judgement and automatically select assembler based on the result by @CofeCofe in #5247
- get.ps1: Update method to get temp path to avoid failure in 8.3 path #5255 by @Patrick-Ze in #5256
- update 7z by @waruqi in #5254
- fix xrepo in anaconda env by @xq114 in #5271
- [fix]Fixed the failure of the command line completion function in linux by @JackLin00 in #5275
- fix find vc6 by @ChrisCatCP in #5276
- add support for missing C++ Modules file extensions by @yamader in #5282
- fix pch for gcc/clang #5270 by @waruqi in #5284
- improve to find cosmocc by @waruqi in #5281
- fix load targets repeatly #5288 by @waruqi in #5291
- lock to check platform/toolchains by @waruqi in #5290
- add build.intermediate_directory policy #5278 by @waruqi in #5283
- Improve pure json support by @waruqi in #5293
- add prefixdir configuration for ts file by @1143910315 in #5298
- fix xrepo invalid prompt on linux by @xq114 in #5300
- fix msvc output when toolset less than 8.0 by @ChrisCatCP in #5303
- Improve Vala support by @al1-ce in #5302
- make qt.ts prefixdir option supports absolute path by @jingkaimori in #5312
- add windows arm/arm64ec support by @waruqi in #5316
- Add ifx fortran compiler support by @waruqi in #5318
- improve to find cuda for linux arm64 #5317 by @waruqi in #5319
- Dump dependents for target file by @waruqi in #5330
- fix inherit links #5331 by @waruqi in #5334
- fix c++ language detection for modules when gnuxxXY or gnu++XY is used by @Arthapz in #5339
- add proper warning for std module detection by @Arthapz in #5341
- add a proper warning when falling back to fallback module scanner for… by @Arthapz in #5340
- Improve conan to support vs 17.1 by @waruqi in #5343
- User's
qt.deploy.flags
should have priority over defaults by @yh-sb in #5351 - fix link cache #5360 by @waruqi in #5361
- Improve cmake.install for ninja by @waruqi in #5365
- add .gitattributes to enable syntax coloration on module files by @Arthapz in #5371
- add a policy to disable module culling by @Arthapz in #5369
- bump llvm version to llvm 19 for std modules tests because llvm modul… by @Arthapz in #5370
- Apple tvOS: Fix typo in flag by @SirLynix in #5372
- add policy msbuild.multi_tool_task by @ChrisCatCP in #5367
- update msbuild.lua by @ChrisCatCP in #5373
- Improve installation by @waruqi in #5335
- fix error when qt.deploy.flags policy is a table by @jingkaimori in #5381
- fix pack io.gsub by @waruqi in #5382
- add tool jom by @ChrisCatCP in #5386
- Improve test output by @waruqi in #5387
- fixbug: invalid project group when generate a vs project by @jinke18 in #5390
- fixbug: crush when using non-scroll output theme like ninja by @jinke18 in #5391
- add bindirs for pacakge by @waruqi in #5392
- Improve module objectfiles handling and moduleonly package by @Arthapz in #5376
- strip -fmodule-mapper for GCC module reusage flag compatibility detec… by @Arthapz in #5374
- update policy by @ChrisCatCP in #5395
- set vs_toolset for msbuild by @ChrisCatCP in #5398
- improve rpath by @waruqi in #5400
- fix fetch sysincludedirs by @waruqi in #5404
- Fix missing braces ignoring sourcekind in batchcmds by @chriku in #5406
- fix vcpkg android armeabi-v7a by @shuax in #5408
- fix Qt static compilation issue by @xiaobfly in #5407
New Contributors
- @CofeCofe made their first contribution in #5247
- @Patrick-Ze made their first contribution in #5256
- @yamader made their first contribution in #5282
- @al1-ce made their first contribution in #5302
- @yh-sb made their first contribution in #5351
- @jinke18 made their first contribution in #5390
- @chriku made their first contribution in #5406
Full Changelog: v2.9.3...v2.9.4
xmake v2.9.3
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
新特性
改进
- #5156: 改进安装 cargo 包
问题修复
- #5176: 修复 VS toolset v144 支持
What's Changed
- fix typos by @Freed-Wu in #5141
- Fix building xmake using xmake on mingw by @tqfx in #5142
- Fix
find_package
failed problem for CMake projects on Android platform by @zjyhjqs in #5147 - Xpack: wix toolset support by @A2va in #4788
- Update to #4800 by @ShifftC in #5152
- Wix: Do not create a company folder by @A2va in #5154
- Xpack: wix toolset support by @waruqi in #5153
- add on_source for package by @waruqi in #5155
- add target to rcflags by @waruqi in #5164
- add encoding flags when generate cmakelists by @waruqi in #5167
- Improve mapflags by @waruqi in #5169
- add gentoo to linuxos by @peeweep in #5172
- fix
xmake show
issues by @yao-weijie in #5170 - config: fix is_* and has_* returning nil by @SirLynix in #5177
- Fix VS toolset v144 by @SirLynix in #5176
- add host dir for cargo #5156 by @waruqi in #5173
- Intel has changed its default path for icx by @Altina-oz in #5183
- fix(plugins): convert set_languages() latest standard to cmake by @offscum in #5180
- add timeout to net.http.download by @Chi-EEE in #5187
- fix typos by @zchrissirhcz in #5188
- fix distcc by @waruqi in #5189
- add read_timeout to net.http.download by @Chi-EEE in #5190
- Improve dmd linkargv #5192 by @waruqi in #5193
- Improve pack to fix config by @waruqi in #5195
- Fix syslinks error using qt static lib in mingw by @F11st in #5202
- Improve Android by @SirLynix in #5211
- Add deb pack by @waruqi in #5210
- fix: test/.../verialtor/hello_vcd no wave file output by @MrAMS in #5218
- fix cmake package finding regarding target mode by @xq114 in #5220
- cmake: set CMAKE_SYSTEM_PROCESSOR when cross-compiling by @SirLynix in #5215
- Improve long compile command by @waruqi in #5226
- add QT_LIBINFIX property support by @Elite-stay in #5238
New Contributors
- @Freed-Wu made their first contribution in #5141
- @peeweep made their first contribution in #5172
- @yao-weijie made their first contribution in #5170
- @Altina-oz made their first contribution in #5183
- @offscum made their first contribution in #5180
- @zchrissirhcz made their first contribution in #5188
- @F11st made their first contribution in #5202
- @MrAMS made their first contribution in #5218
- @Elite-stay made their first contribution in #5238
Full Changelog: v2.9.2...v2.9.3
xmake v2.9.2
New features
- #5005: Show all apis
- #5003: Add build.fence policy
- #5060: Support Verilator target build to static library
- #5074: Add
xrepo download
command to download package source - #5086: Add check support for package
- #5103: Add qt ts files building
- #5104: Call where in find_program
Changes
- #5077: Use x64 host compiler for msvc when building x86 target
- #5109: Support runpath/rpath for add_rpathdirs
- #5132: Improve ifort/icc/icx support on windows
Bugs Fixed
新特性
- #5005: 显示所有 API
- #5003: 添加 build.fence 策略
- #5060: 支持 Verilator 静态库目标构建
- #5074: 添加
xrepo download
命令去快速下载包源码 - #5086: 添加包检测支持
- #5103: 添加 qt ts 构建支持
- #5104: 改进 find_program,在 windows 上调用 where 改进查找
改进
- #5077: 当构建 x86 目标时,使用 x64 的 msvc 编译工具
- #5109: 改进 add_rpathdirs 支持 runpath/rpath 切换
- #5132: 改进 ifort/icc/icx 在 windows 上的支持
Bugs 修复
What's Changed
- Show all apis by @waruqi in #5005
- Fix autoconfs not handling shflags and arflags by @SirLynix in #5007
- improve apis by @waruqi in #5009
- add "build.fence" policy to block all targets build in depend chain by @zhurongjun in #5011
- MacOS Arm MinGW toolchain fix by @c8ef in #5019
- add gcc-ar/gcc-ranlib by @waruqi in #5024
- vcpkg dynamic triplet by @SHIINASAMA in #5023
- fix CMake package defaultflags and runtimes support by @Arthapz in #5025
- fix incremental compilation for gcc-14 #5022 by @waruqi in #5030
- Fix incorrect pattern matching for rustc nf_frameworks() by @bitonality in #5034
- pkgconfig: don't find packages when cross-compiling (fix #5028) by @SirLynix in #5039
- Fix target.linkname not returning a value by @SirLynix in #5049
- improve c23 and add c++26 flags support by @Arthapz in #5050
- add support of c23 and c++26 for msvc by @Arthapz in #5056
- improve to sort instances by @waruqi in #5061
- Support Verilator target build to static library by @waruqi in #5062
- Support windows find LLVM toolchain by @MaxwellGengYF in #5064
- Update xxhash by @waruqi in #5063
- use integer instead of number by @waruqi in #5068
- package.tools.cmake: Fix booleans in env config by @SirLynix in #5070
- Add
xrepo download
to download package source archive files only. by @waruqi in #5074 - fix package tool #5069 by @waruqi in #5076
- improve to system/find_package by @waruqi in #5078
- improve msvc host #5077 by @waruqi in #5079
- try fixing build on msys2 gcc 14 by @c8ef in #5082
- add c++abi by @waruqi in #5083
- add check script for package by @waruqi in #5086
- improve ar to support lto by @waruqi in #5087
- add forceincludes for vsxmake by @waruqi in #5084
- Fix build on msys2/mingw64 by @tqfx in #5093
- Remove unnecessary definition configuration on mingw by @tqfx in #5097
- fix vs project not found *.qrc(QT) files by @KellyGodLv in #5096
- Support absolute library path of the package when link by @waruqi in #5099
- add qt ts files building by @1143910315 in #5103
- Call where in find_program by @waruqi in #5104
- Fix adding duplicate paths to PATH during installation by @wanzzhehe in #5108
- improve vectorext by @waruqi in #5114
- fix cmake default flags by @waruqi in #5115
- improve utils.symbols.export_all to support clang/objdump by @waruqi in #5119
- Improve to find llvm by @waruqi in #5129
- add icx for windows by @waruqi in #5132
- add rc2 by @waruqi in #5135
New Contributors
- @zhurongjun made their first contribution in #5011
- @c8ef made their first contribution in #5019
- @SHIINASAMA made their first contribution in #5023
- @bitonality made their first contribution in #5034
- @tqfx made their first contribution in #5093
- @1143910315 made their first contribution in #5103
- @wanzzhehe made their first contribution in #5108
Full Changelog: v2.9.1...v2.9.2
xmake v2.9.1
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
新特性
改进
- 改进包管理,支持切换 clang-cl
- #4893: 改进 rc 头文件依赖检测
- #4928: 改进构建和链接速度,增量编译时候效果更加明显
- #4931: 更新 pdcurses
- #4973: 改进选择脚本的匹配模式
Bugs 修复
What's Changed
- fix moduleonly libraries headers installation by @Arthapz in #4862
- add generator test by @waruqi in #4863
- fix find_cudatools on windows by @charlesseizilles in #4861
- add stdc++_static for gcc by @waruqi in #4869
- Improve clang-cl toolchain support by @waruqi in #4866
- Implement stdmodule clang detection flag by @Arthapz in #4805
- Add Harmony SDK support by @waruqi in #4874
- Improve clang colors output by @waruqi in #4875
- improve xpack #4877 by @waruqi in #4880
- Improve package envs by @waruqi in #4879
- Improve to install with group #4882 by @waruqi in #4885
- fix batchcmds for cmake path #4881 by @waruqi in #4888
- add os.signal #4889 by @waruqi in #4890
- Improve to select scripts by @waruqi in #4894
- improve rc deps #4893 by @waruqi in #4897
- Fix incremental compilation for .def files by @waruqi in #4904
- ndk: use unix path even on Windows by @SirLynix in #4903
- Add signal module by @waruqi in #4908
- enable longpaths for submodule/reset #4905 by @waruqi in #4909
- Improve to find qmake by @waruqi in #4910
- fix patches checksum not being checked by @SirLynix in #4916
- package.tools.cmake: Use newer Android toolchain and support runtimes by @SirLynix in #4917
- Add native modules support by @waruqi in #4918
- update pdcurses to 3.9 by @charlesseizilles in #4931
- Improve native shared module to remove lua package dependence by @waruqi in #4932
- Improve to system/find_package by @waruqi in #4936
- runtimes support for package:check_cxxsnippet by @Arthapz in #4921
- Add cppfront's header(*.h2) support by @shaoxie1986 in #4943
- Improve runjobs by @waruqi in #4947
- improve longpaths for submodules by @waruqi in #4953
- After the change of h2, recompile cpp2 containing this h2 by @shaoxie1986 in #4950
- Improve archive by @waruqi in #4956
- Improve to fetch packages for cross-compilation by @waruqi in #4963
- Improve to select script by @waruqi in #4983
- Imrpove meson with clang toolchain by @star-hengxing in #4987
- Improve runenvs by @waruqi in #4986
- fix meson cross build on windows by @star-hengxing in #4990
- add support for --runtimes for autoconf, cmake, make and meson packages by @Arthapz in #4927
New Contributors
- @charlesseizilles made their first contribution in #4861
Full Changelog: v2.8.9...v2.9.1
xmake v2.8.9
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 修复
xmake v2.8.8
xmake v2.8.7
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
新特性
- #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 修复
Full Changelog: v2.8.6...v2.8.7