xmake v2.3.9 Release Notes

Release Date: 2020-11-25 // 3 months ago
  • 🆕 New features

    • ➕ Add new xrepo command to manage C/C++ packages
    • 👌 Support for installing packages of cross-compilation
    • ➕ Add musl.cc toolchains
    • 📦 #1009: Support select and install any version package, e.g. add_requires("libcurl 7.73.0", {verify = false})
    • 📦 #1016: Add license checking for target/packages
    • 📦 #1017: Support external/system include directories add_sysincludedirs for package and toolchains
    • 🐧 #1020: Support to find and install pacman package on archlinux and msys2
    • 👌 Support mouse for xmake f --menu

    🔄 Change

    • 👍 #997: Support to set std lanuages for xmake project -k cmake
    • 🏁 #998: Support to install vcpkg packages with windows-static-md
    • #996: Improve to find vcpkg directory
    • #1008: Improve cross toolchains
    • #1030: Improve xcode.framework and xcode.application rules
    • #1051: Add edit and embed to set_symbols() only for msvc
    • 🔌 #1062: Improve xmake project -k vs plugin.

    新特性

    • 添加新的 xrepo 命令去管理安装 C/C++ 包
    • 支持安装交叉编译的依赖包
    • 新增musl.cc上的工具链支持
    • #1009: 支持忽略校验去安装任意版本的包,add_requires("libcurl 7.73.0", {verify = false})
    • #1016: 针对依赖包增加license兼容性检测
    • #1017: 支持外部/系统头文件支持 add_sysincludedirs,依赖包默认使用-isystem
    • 🐧 #1020: 支持在 archlinux 和 msys2 上查找安装 pacman 包
    • 改进 xmake f --menu 菜单配置,支持鼠标操作

    改进

    • #997: xmake project -k cmake 插件增加对 set_languages 的支持
    • 🏁 #998: 支持安装 windows-static-md 类型的 vcpkg 包
    • #996: 改进 vcpkg 目录查找
    • #1008: 改进交叉编译工具链
    • #1030: 改进 xcode.framework and xcode.application 规则
    • #1051: 为 msvc 编译器添加 editembed 调试信息格式类型到 set_symbols()
    • #1062: 改进 xmake project -k vs 插件


Previous changes from v2.3.8

  • 🆕 New features

    • #955: Add zig project templates
    • 👍 #956: Add wasm platform and support Qt/Wasm SDK
    • ⬆️ Upgrade luajit vm and support for runing on mips64 device
    • #972: Add depend.on_changed() api to simplify adding dependent files
    • #981: Add set_fpmodels() for math optimization mode
    • 👍 #980: Support Intel C/C++ and Fortran Compiler
    • 👍 #986: Support for c11 and c17 for MSVC Version 16.8 and Above
    • #979: Add Abstraction for OpenMP. add_rules("c++.openmp")

    🔄 Change

    • 👍 #958: Improve mingw platform to support llvm-mingw toolchain
    • 👌 Improve add_requires("zlib~xxx") to support for installing multi-packages at same time
    • 🏁 #977: Improve find_mingw for windows
    • #978: Improve toolchain flags order
    • 👌 Improve Xcode toolchain to support for macOS/arm64

    🐛 Bugs fixed

    • 🏁 #951: Fix emcc support for windows
    • #992: Fix filelock bug

    新特性

    • #955: 添加 Zig 空工程模板
    • #956: 添加 Wasm 编译平台,并且支持 Qt/Wasm SDK
    • 升级luajit到v2.1最新分支版本,并且支持mips64上运行xmake
    • #972: 添加depend.on_changed()去简化依赖文件的处理
    • #981: 添加set_fpmodels()去抽象化设置math/float-point编译优化模式
    • #980: 添加对 Intel C/C++ 和 Fortran 编译器的全平台支持
    • #986: 对16.8以上msvc编译器增加 c11/c17 支持
    • #979: 添加对OpenMP的跨平台抽象配置。add_rules("c++.openmp")

    改进

    • #958: 改进mingw平台,增加对 llvm-mingw 工具链的支持,以及 arm64/arm 架构的支持
    • 增加 add_requires("zlib~xxx") 模式使得能够支持同时安装带有多种配置的同一个包,作为独立包存在
    • 🏁 #977: 改进 find_mingw 在 windows 上的探测
    • #978: 改进工具链的flags顺序
    • 🍎 改进XCode工具链,支持macOS/arm64

    🐛 Bugs修复

    • 🏁 #951: 修复 emcc (WebAssembly) 工具链在windows上的支持
    • #992: 修复文件锁偶尔打开失败问题