Releases: xmake-io/xmake
Releases · xmake-io/xmake
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 输出支持
Bugs 修复
xmake v2.7.3
New features
- A new optional configuration syntax. It is LSP friendly, automatically calls target_end() to achieve scope isolation.
- #2944: Add
gnu-rm.binary
andgnu-rm.static
rules and tests for embed project - #2636: Support package components
- Support armasm/armasm64 for msvc
- #3023: Add support for debugging with renderdoc
- #3022: Add flags for specific compilers and linkers
- #3025: C++ exception enabled/disabled switch method
- #3017: Support ispc compiler
Changes
- #2925: Improve doxygen plugin
- #2948: Support OpenBSD
- Add
xmake g --insecure-ssl=y
option to disable ssl certificate when downloading packages - #2971: Stabilize vs and vsxmake project generation
- #3000: Incremental compilation support for modules
- #3016: Improve clang/msvc to better support std modules
Bugs fixed
- #2949: Fix vs group
- #2952: Fix armlink for long args
- #2954: Fix c++ module partitions path issue
- #3033: Detect circular modules dependency
新特性
- 一种新的可选域配置语法,对 LSP 友好,并且支持域隔离。
- #2944: 为嵌入式工程添加
gnu-rm.binary
和gnu-rm.static
规则和测试工程 - #2636: 支持包组件
- 支持 msvc 的 armasm/armasm64
- #3023: 改进 xmake run -d,添加 renderdoc 调试器支持
- #3022: 为特定编译器添加 flags
- #3025: 新增 C++ 异常接口配置
- #3017: 支持 ispc 编译器规则
改进
- #2925: 改进 doxygen 插件
- #2948: 支持 OpenBSD
- 添加
xmake g --insecure-ssl=y
配置选项去禁用 ssl 证书检测 - #2971: 使 vs/vsxmake 工程生成的结果每次保持一致
- #3000: 改进 C++ 模块构建支持,实现增量编译支持
- #3016: 改进 clang/msvc 去更好地支持 std 模块
Bugs 修复
xmake v2.7.2
New features
- #2140: Support Windows Arm64
- #2719: Add
package.librarydeps.strict_compatibility
to strict compatibility for package linkdeps - #2810: Support os.execv to run shell script file
- #2817: Improve rule to support dependence order
- #2824: Pass cross-file to meson.install and trybuild
- #2856: Improve to debug package using the debug source directory
- #2859: Improve trybuild to build 3rd source library using xmake-repo scripts
- #2879: Support for dynamic creation and injection of rules and targets in script scope
- #2374: Allow xmake package to embed rules and scripts
- Add clang-cl toolchain
Changes
- #2745: Improve os.cp to support symlink
- #2773: Improve vcpkg packages to support freebsd
- #2778: Improve Improve xrepo.env for target
- #2783: Add digest algorithm option for wdk signtool
- #2787: Improve json to support empty array
- #2782: Improve to find matlab and runtime
- #2793: Improve mconfdialog
- #2804: Support macOS arm64/x86_64 cross-compilation for installing packages
- #2809: Improve cl optimization option
- Improve trybuild for meson/cmake/autoconf
- #2846: Improve to generate config files
- #2866: Better control over the order of execution of rules
Bugs fixed
- #2740: Fix build c++ modules stuck and slower for msvc
- #2875: Fix build linux driver error
- #2885: Fix pch not found with msvc/ccache
新特性
- #2140: 支持 Windows Arm64
- #2719: 添加
package.librarydeps.strict_compatibility
策略严格限制包依赖兼容性 - #2810: 支持 os.execv 去执行 shell 脚本文件
- #2817: 改进规则支持依赖顺序执行
- #2824: 传递 cross-file 交叉编译环境给 meson.install 和 trybuild
- #2856: xrepo 支持从当前指定源码目录调试程序
- #2859: 改进对三方库的 trybuild 构建,利用 xmake-repo 仓库脚本更加智能化地构建三方库
- #2879: 更好的动态创建和配置 target 和 rule
- #2374: 允许 xmake 包中引入自定义规则
- 添加 clang-cl 工具链
改进
- #2745: 改进 os.cp 支持符号链接复制
- #2773: 改进 vcpkg 包安装,支持 freebsd 平台
- #2778: 改进 xrepo.env 支持 target 的运行环境加载
- #2783: 添加摘要算法选项到 WDK 的 signtool 签名工具
- #2787: 改进 json 支持空数组
- #2782: 改进查找 matlib sdk 和运行时
- #2793: 改进 mconfdialog 配置操作体验
- #2804: 安装依赖包支持 macOS arm64/x86_64 交叉编译
- #2809: 改进 msvc 的编译优化选项
- 改进 trybuild 模式,为 meson/autoconf/cmake 提供更好的交叉编译支持
- #2846: 改进对 configfiles 的生成
- #2866: 更好地控制 rule 规则执行顺序
Bugs 修复
xmake v2.7.1
New features
- #2555: Add fwatcher module and
xmake watch
plugin command - Add
xmake service --pull 'build/**' outputdir
to pull the given files in remote server - #2641: Improve C++20 modules, support headerunits and project generators
- #2679: Support Mac Catalyst
Changes
- #2576: More flexible package fetching from cmake
- #2577: Improve add_headerfiles(), add
{install = false}
support - #2603: Disable
-fdirectives-only
for ccache by default - #2580: Set stdout to line buffering
- #2571: Improve task scheduling for parallel and distributed compilation based on memory/cpu usage
- #2410: Improve cmakelists generator
- #2690: Improve to pass toolchains to packages
- #2686: Support for incremental compilation and parse header file deps for keil/armcc/armclang
- #2562: Improve include deps for rc.exe
- Improve the default parallel building jobs number
Bugs fixed
- #2614: Fix building submodules2 tests for msvc
- #2620: Fix build cache for incremental compilation
- #2177: Fix python.library segmentation fault for macosx
- #2708: Fix link error for mode.coverage rule
- Fix rpath for macos/iphoneos frameworks and application
新特性
- #2555: 添加 fwatcher 模块和
xmake watch
插件命令 - 添加
xmake service --pull 'build/**' outputdir
命令去拉取远程构建服务器上的文件 - #2641: 改进 C++20 模块, 支持 headerunits 和 project 生成
- #2679: 支持 Mac Catalyst 构建
改进
- #2576: 改进从 cmake 中查找包,提供更过灵活的可选配置
- #2577: 改进 add_headerfiles(),增加
{install = false}
支持 - #2603: 为 ccache 默认禁用
-fdirectives-only
- #2580: 设置 stdout 到 line 缓冲输出
- #2571: 改进分布式编译的调度算法,增加 cpu/memory 状态权重
- #2410: 改进 cmakelists 生成
- #2690: 改机传递 toolchains 到包
- #2686: 改进 armcc/armclang 支持增量编译
- #2562: 改进 rc.exe 对引用文件依赖的解析和增量编译支持
- 改进默认的并行构建任务数
Bugs 修复
xmake v2.6.9
New features
Changes
- Improve tools.cmake to support wasm
- #2491: Fallback to local compiler/cache from remote if server is unreachable
- #2514: Disable Unity Build for project generator
- #2473: Improve apt::find_package to find it from pc files
- #2512: Improve remote service to support timeout configuration
Bugs fixed
- #2488: Fix remote compilation from windows to linux
- #2504: Fix remote build bug on msys2/cygwin
- #2525: Fix install package deps and stuck
- #2557: Fix cmake.find_package links bug
- Fix cache-induced path conflicts in preprocessed files
新特性
改进
- 改进 tools.cmake 支持 wasm 库构建
- #2491: 如果服务器不可访问,自动回退到本地编译和缓存
- #2514: 为工程生成器禁用 Unity Build
- #2473: 改进 apt::find_package,支持从 pc 文件中查找
- #2512: 改进远程服务支持超时配置