Releases: xmake-io/xmake
Releases · xmake-io/xmake
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 警告
Bugs 修复
xmake v2.8.2
New features
- #4002: Add soname and version support
- #1613: Add avx512 and sse4.2 for add_vectorexts
- #2471: Add set_encodings to set source/target encodings
- #4071: Support the stm8 assembler on the sdcc toolchain.
- #4101: Add force includes for c/c++
- #2384: Add extrafiles for vs/vsxmake generator
Changes
- #3960: Improve msys2/crt64 support
- #4032: Remove some old deprecated apis
- Improve to upgrade vcproj files in tools.msbuild
- Support add_requires("xmake::xxx") package
- #4049: Improve rust to support cross-compilation
- Improve clang modules support
Bugs fixed
- Fix exit all child processes on macOS/Linux
新特性
- #4002: 增加 soname 支持
- #1613: 为 add_vectorexts 增加 avx512 和 sse4.2 支持
- #2471: 添加 set_encodings API 去设置源文件和目标文件的编码
- #4071: 支持 sdcc 的 stm8 汇编器
- #4101: 为 c/c++ 添加 force includes
- #2384: 为 vs/vsxmake 生成器添加 add_extrafiles 接口
改进
- #3960: 改进 msys2/crt64 支持
- #4032: 移除一些非常老的废弃接口
- 改进 tools.msbuild 升级 vcproj 文件
- 支持 add_requires("xmake::xxx") 包
- #4049: 改进 Rust 支持交叉编译
- 改进 clang 下 c++ modules 支持
Bugs 修复
- 修复 macOS/Linux 上子子进程无法快速退出问题
xmake v2.8.1
New features
- #3821: Add longpath option for windows installer
- #3828: Add support for zypper package manager
- #3871: Improve tools.msbuild to support for upgrading vsproj
- #3148: Support grpc for protobuf
- #3889: Support to add library path for add_links
- #3912: Add set_pmxxheader to support objc precompiled header
- add_links support library file path
Changes
- #3752: Improve os.getenvs for windows
- #3371: Improve tools.cmake to support ninja generator for wasm
- #3777: Improve to find package from pkg-config
- #3815: Improve tools.xmake to pass toolchains for windows
- #3857: Improve to generate compile_commands.json
- #3892: Improve to search packages from description
- #3916: Improve to build swift program, support for multiple modules
- Update lua runtime to 5.4.6
Bugs fixed
- #3755: Fix find_tool from xmake/packages
- #3787: Fix packages from conan 2.x
- #3839: Fix vs_runtime for conan 2.x
新特性
- #3821: windows 安装器添加长路径支持选项
- #3828: 添加 zypper 包管理器支持
- #3871: 改进 tools.msbuild 支持对 vsproj 进行自动升级
- #3148: 改进 protobuf 支持 grpc
- #3889: add_links 支持库路径添加
- #3912: 添加 set_pmxxheader 去支持 objc 预编译头
- add_links 支持库文件路径
改进
- #3752: 改进 windows 上 os.getenvs 的获取
- #3371: 改进 tools.cmake 支持使用 ninja 去构建 wasm 包
- #3777: 改进从 pkg-config 中查找包
- #3815: 改进 tools.xmake 支持为 windows 平台传递工具链
- #3857: 改进生成 compile_commands.json
- #3892: 改进包搜索,支持从描述中找包
- #3916: 改进构建 swift 程序,支持模块间符号调用
- 更新 lua 运行时到 5.4.6
Bugs 修复
xmake v2.7.9
New features
Changes
- #3669: Improve cmake generator to support add_cxflags with the given tool
- #3679: Improve
xrepo clean
- #3662: Improve cmake/make generator for lex/yacc project
- #3697: Improve trybuild/cmake
- #3730: Improve c++modules package installation
Bugs fixed
- #3596: Fix check_cxxfuncs and check_cxxsnippets
- #3603: Fix
xmake update
- #3614: Fix qt envirnoment when running target
- #3628: Fix msys2/mingw setenv and os.exec issue
- Fix setenv for msys/mingw
新特性
改进
- #3669: 改进 cmake 生成器支持特定工具的 cxflags
- #3679: 改进
xrepo clean
- #3662: 改进 cmake/make 生成器去更好的支持 lex/yacc 工程
- #3697: 改进 trybuild/cmake
- #3730: 改进 c++modules 包安装,解决不同目录同名文件分发冲突问题
Bugs 修复
xmake v2.7.8
New features
- #3518: Profile compile and link performance
- #3522: Add has_cflags, has_xxx for target
- #3537: Add --fix for clang.tidy checker
Changes
- #3433: Improve to build Qt project on msys2/mingw64 and wasm
- #3419: Support fish shell envirnoment
- #3455: Dlang incremental build support
- #3498: Improve to bind package virtual envirnoments
- #3504: Add swig java support
- #3508: Improve trybuild/cmake to support for switching toolchain
- disable build cache for msvc, because msvc's preprocessor is too slow.
Bugs fixed
新特性
改进
- #3433: 改进 QT 在 msys2/mingw64 和 wasm 上的构建支持
- #3419: 支持 fish shell 环境
- #3455: Dlang 增量编译支持
- #3498: 改进绑定包虚拟环境
- #3504: 添加 swig java 支持
- #3508: 改进 trybuild/cmake 去支持工具链切换
- 为 msvc 禁用 build cache 加速,因为 msvc 的预处理器太慢,反而极大影响构建性能。
Bugs 修复
xmake v2.7.7
New features
- Add Haiku support
- #3326: Add
xmake check
to check project code (clang-tidy) and configuration - #3332: add custom http headers when downloading packages
Changes
- #3318: Improve dlang toolchains
- #2591: Improve target analysis
- #3342: Improve to configure working and build directories
- #3373: Improve std modules support for clang-17
- Improve to strip/optimization for dmd/ldc2
Bugs fixed
- #3317: Fix languages for qt project.
- #3321: Fix dependfile when generating configiles
- #3296: Fix build error on macOS arm64
新特性
改进
- #3318: 改进 dlang 工具链
- #2591: 改进 target 配置来源分析
- 为 dmd/ldc2 改进 strip/optimization
- #3342: 改进配置构建目录,支持外置目录构建,保持远吗目录更加干净
- #3373: 为 clang-17 改进 std 模块支持
Bugs 修复
xmake v2.7.6
New features
- #3228: Add support of importing modules from packages
- #3257: Add support for iverilog and verilator
- Support for xp and vc6.0
- #3214: Completion on xrepo install packages
Changes
- #3255: Improve clang libc++ module support
- Support for compiling xmake using mingw
- Improve compatibility issues with xmake running on win xp
- Add pure lua json implementation instead of lua-cjson if the external dependencies are enabled
Bugs fixed
- #3229: Fix find rc.exe for vs2015
- #3271: Fix macro defines with spaces
- #3273: Fix nim link error
- #3286: Fix compile_commands for clangd
新特性
- #3228: C++ modules 的安装发布,以及从包中导入 C++ modules 支持
- #3257: 增加对 iverilog 和 verilator 的支持
- 支持 xp 和 vc6.0
- #3214: xrepo install 的自动补全支持
改进
- #3255: 改进 clang libc++ 模块支持
- 支持使用 mingw 编译 xmake
- 改进 xmake 在 win xp 上的兼容性
- 如果外部依赖被启用,切换 json 模块到纯 lua 实现,移除对 lua-cjson 的依赖
Bugs 修复
xmake v2.7.5
New features
Changes
- #3216: Add intel one api toolkits detection
- #3020: Add
--lsp=clangd
to improve to generate compile_commands.json - #3215: Add includedirs and defines to c51
- #3251: Improve to build zig and c program
Bugs fixed
- #3203: Fix compile_commands
- #3222: Fix precompiled headers in ObjC
- #3240: Fix target run with single arguments
- #3238: Fix clang module mapper
新特性
改进
- #3216: 改进 intel one api toolkits 探测
- #3020: 添加
--lsp=clangd
去改进 compile_commands.json 的生成 - #3215: 添加 includedirs 和 defines 到 c51 编译器
- #3251: 改进 zig and c 混合编译
Bugs 修复
xmake v2.7.4
New features
- #3049: Add
xmake format
plugin - Add
plugin.compile_commands.autoupdate
rule - #3172: Add xmake.sh
- #3168: add support of C++23 standard modules on msvc
Changes
- #3056: Improve zig support
- #3060: Improve to detect msys2 for clang toolchains envirnoment
- #3071: Support rc for llvm/clang toolchain
- #3122: Generate dependencies of preprocessed modules to avoid importing #ifdef import
- #3125: Compile private C++20 modules
- #3133: Add support of internal partitions
- #3146: Add default components for packages
- #3192: JSON output for auto complete
Bugs fixed
- Fix requires-lock bug
- #3065: Fix missing package dependences
- #3082: Fix build.ninja generator
- #3092: Fix xrepo add-repo error handing
- #3013: Fix and support windows UNC path
- #2902: Fix file not access by another process occupied
- #3074: Fix CMakelists generator
- #3141: Fix import order on GCC and force it on clang and msvc #3141
- Fix tools/xmake package build directory
- #3159: Fix compile_commands for CLion
新特性
- #3049: 添加
xmake format
插件 - 添加
plugin.compile_commands.autoupdate
规则 - #3172: 添加 xmake.sh
- #3168: 为 msvc 添加 C++23 标准模块支持
改进
- #3056: 改进 Zig 支持
- #3060: 改进支持 msys2 的环境探测
- #3071: 为 llvm/clang 工具链支持 rc 编译
- #3122: 改进 c++20 模块依赖图的源码分析,支持预处理
- #3125: 增加私有 C++20 模块的编译支持
- #3133: 增加 internal partitions 模块支持
- #3146: 添加默认包组件支持
- #3192: 为 auto complete 增加 json 输出支持