Releases: xmake-io/xmake
Releases · xmake-io/xmake
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
xmake v2.8.6
New features
- Add
network.mode
policy - #1433: Add
xmake pack
command to generate NSIS/zip/tar.gz/rpm/srpm/runself packages like cmake/cpack - #4435: Support batchsize for UnityBuild in Group Mode
- #4485: Support package.install_locally
- Support NetBSD
Changes
- #4484: Improve swig rule
- Improve Haiku support
Bugs fixed
新特性
- 添加
network.mode
策略 - #1433: 添加
xmake pack
命令去生成 NSIS/zip/tar.gz/rpm/srpm/runself 安装包 - #4435: 为 UnityBuild 的组模式增加 batchsize 支持
- #4485: 新增 package.install_locally 策略支持
- 新增 NetBSD 支持
Changes
- #4484: 改进 swig 规则
- 改进 Haiku 支持
Bugs 修复
xmake v2.8.5
New features
- #1452: Improve link mechanism and order
- #1438: Support code amalgamation
- #3381: Add
xmake test
support - #4276: Support custom scope api
- #4286: Add Apple XROS support
- #4345: Support check sizeof
- #4369: Add windows.manifest.uac policy
Changes
- #4284: Improve builtin includes
Bugs fixed
- #4256: Fix intellisense for vsxmake/c++modules
新特性
- #1452: 支持链接顺序调整,链接组
- #1438: 支持代码 amalgamation
- #3381: 添加
xmake test
支持 - #4276: 支持自定义域 API
- #4286: 添加 Apple XROS 支持
- #4345: 支持检测类型大小 sizeof
- #4369: 添加 windows.manifest.uac 策略
改进
- #4284: 改进内置 includes 模块
Bugs 修复
- #4256: 为 vsxmake 生成器修复 c++ modules intellisense
xmake v2.8.3
New features
- #4122: Support Lua Debugger (EmmyLua)
- #4132: Support cppfront
- #4147: Add hlsl2spv rule
- #4226: Support sanitizers for package and policy
- Add lib.lua.package module
- Add
run.autobuild
policy - Add global policies
xmake g --policies=
Changes
- #4119: Improve to support emcc toolchain and emscripten package
- #4154: Add
xmake -r --shallow target
to rebuild target without deps - Add global ccache storage directory
- #4137: Support Qt6 for Wasm
- #4173: Add recheck argument to on_config
- #4200: Improve remote build to support debugging xmake source code.
- #4209: Add extra and pedantic warnings
Bugs fixed
- #4110: Fix extrafiles
- #4115: Fix compile_commands generator for clangd
- #4199: Fix compile_commands generator for c++ modules
- Fix os.mv fail on window
- #4214: Fix rust workspace build error
新特性
- #4122: 支持 Lua 调试 (EmmyLua)
- #4132: 支持 cppfront
- #4147: 添加 hlsl2spv 规则
- 添加 lib.lua.package 模块
- #4226: 新增 asan 相关策略和对包的支持
- 添加
run.autobuild
策略开启运行前自动构建 - 添加全局策略
xmake g --policies=
改进
- #4119: 改进支持 emcc 工具链和 emscripten 包的整合
- #4154: 添加
xmake -r --shallow target
去改进重建目标,避免重建所有依赖目标 - 添加全局 ccache 存储目录
- #4137: 改进 Qt,支持 Qt6 for Wasm
- #4173: 添加 recheck 参数到 on_config
- #4200: 改进远程构建,支持调试本地 xmake 源码
- #4209: 添加 extra 和 pedantic 警告