New features
- #7696: Add addons support, to extend xmake with plugins, rules, toolchains, templates, modules and includes files
- #7702: Auto-install the addons declared by a project and lock them in
xmake-addons.lock - #7714: Support
add_addons(...)inxmake.lua - #7706: Add tests for addons
- #7707: Add tests for the package definitions shipped by addons
- #7717: Move the
format/doxygen/macroplugins to addons - #7723: Add new cross-compilation architectures, e.g. SPARC64
- #7721: Add the
package.host.install_locallypolicy - #7699: Rework the templates directory and template distribution
- Add the
pkgpackage manager for BSD
Changes
- #7719: Propagate the vector extensions of a package to its consumers
- #7713: Run
hlsl2spv/glsl2spvbefore the C++ module scan - #7722: Improve the interpreter, project loading, search cache and semver
- #7733: Check the name conflicts of the global modules of addons
- #7726: Improve the mingw toolchain for clang and libc++
Bugs fixed
- #7737: Fix the duplicated packages of the nested builds when installing them locally
- #7738: Fix the platform menu of the remote build, e.g.
xmake f -p windows --wdk=xxx - #7710: Fix the link name of libraries ending with
.lib - #7709: Fix the runtime flags of clang
- #7703: Fix wix to recognize
x86_64when passing-arch - #7701: Fix the dependency check to detect appended nested values
- #7698: Fix the semver version selection and build metadata sorting
- Fix
scheduler.co_resumeto raise the errors of the resumed coroutine
新特性
- #7696: 添加 addons 支持,可以用插件、规则、工具链、模板、模块和 includes 文件扩展 xmake
- #7702: 自动安装工程声明的 addon,并用
xmake-addons.lock锁定版本 - #7714: 支持在
xmake.lua中使用add_addons(...) - #7706: 添加 addon 测试
- #7707: 添加 addon 分发 package 定义的测试
- #7717: 将
format/doxygen/macro插件迁移为 addon - #7723: 添加新的交叉编译架构,例如 SPARC64
- #7721: 添加
package.host.install_locally策略 - #7699: 重构模板目录和模板分发
- 添加 BSD 的
pkg包管理器支持
改进
- #7719: 将包的向量扩展配置传递给使用它的目标
- #7713: 让
hlsl2spv/glsl2spv在 C++ 模块扫描之前执行 - #7722: 改进 interpreter、工程加载、搜索缓存和 semver
- #7733: 检查 addon 全局模块的命名冲突
- #7726: 改进 mingw 工具链对 clang 和 libc++ 的支持
Bug 修复
- #7737: 修复本地安装包时,嵌套构建重复安装包的问题
- #7738: 修复远程编译下的平台菜单,例如
xmake f -p windows --wdk=xxx - #7710: 修复
.lib结尾的库名被错误裁剪的问题 - #7709: 修复 clang 的 runtime flags 检测
- #7703: 修复 wix 传递
-arch时无法识别x86_64的问题 - #7701: 修复依赖检测无法发现嵌套值追加的问题
- #7698: 修复 semver 的版本选择和 build metadata 排序
- 修复
scheduler.co_resume,让被恢复协程的错误能够正常抛出
What's Changed
- move templates dir by @waruqi in #7699
- fix(semver): correct version selection by @apocelipes in #7698
- fix(depend): detect appended nested values by @jnhu76 in #7701
- Auto fetch addons by @waruqi in #7702
- fix(pack): recognize x86_64 when passing -arch to wix by @gycherish in #7703
- Add addon support for plugins by @waruqi in #7696
- add packages test for addon by @waruqi in #7707
- add addon test by @waruqi in #7706
- fix clang runtime flags by @waruqi in #7709
- fix linkname by @waruqi in #7710
- move add_addons to xmake.lua by @waruqi in #7714
- let hlsl2spv before module scan by @vkensou in #7713
- Move some plugins to addons by @waruqi in #7717
- Propagate package vector extensions to consumers by @Northn in #7719
- add host install locally policy by @waruqi in #7721
- improve core by @waruqi in #7722
- Add new architectures for cross-compilation by @ifarbod in #7723
- Check conflict for addon modules by @waruqi in #7733
- Improve MinGW toolchain support for Clang and libc++ by @damster101 in #7726
- fix local dir by @waruqi in #7737
New Contributors
- @jnhu76 made their first contribution in #7701
- @gycherish made their first contribution in #7703
- @damster101 made their first contribution in #7726
Full Changelog: v3.1.0...v3.1.1