Releases: xmake-io/xmake
Releases · xmake-io/xmake
xmake v2.5.7
New features
- #1534: Support to compile Vala lanuage project
- #1544: Add utils.bin2c rule to generate header from binary file
- #1547: Support to run and get output of c/c++ snippets in option
- #1567: Package "lock file" support to freeze dependencies
- #1597: Support to compile *.metal files to generate *.metalib and improve xcode.application rule
Change
- #1540: Better support for compilation of automatically generated code
- #1578: Improve add_repositories to support relative path better
- #1582: Improve installation and os.cp to reserve symlink
Bugs fixed
- #1531: Fix error info when loading targets failed
新特性
- #1534: 新增对 Vala 语言的支持
- #1544: 添加 utils.bin2c 规则去自动从二进制资源文件产生 .h 头文件并引入到 C/C++ 代码中
- #1547: option/snippets 支持运行检测模式,并且可以获取输出
- #1567: 新增 xmake-requires.lock 包依赖锁定支持
- #1597: 支持编译 metal 文件到 metallib,并改进 xcode.application 规则去生成内置的 default.metallib 到 app
改进
Bugs 修复
- #1531: 修复 targets 加载失败的错误信息提示错误
xmake v2.5.6
New features
- #1483: Add
os.joinenvs()
and improve package tools envirnoments - #1523: Add
set_allowedmodes
,set_allowedplats
andset_allowedarchs
- #1523: Add
set_defaultmode
,set_defaultplat
andset_defaultarch
Change
- Improve vs/vsxmake project generator to support vs2022
- #1513: Improve precompiled binary package compatibility on windows/msvc
- Improve to find vcpkg root directory on windows
- Improve to support Qt6
Bugs fixed
- #489: Fix run os.execv with too long envirnoment value on windows
新特性
- #1483: 添加
os.joinenvs()
和改进包工具环境 - #1523: 添加
set_allowedmodes
,set_allowedplats
和set_allowedarchs
- #1523: 添加
set_defaultmode
,set_defaultplat
和set_defaultarch
改进
- 改进 vs/vsxmake 工程插件支持 vs2022
- #1513: 改进 windows 预编译包的兼容性问题
- 改进 vcpkg 包在 windows 上的查找
- 改进对 Qt6 的支持
Bugs 修复
- #489: 修复 run os.execv 带有过长环境变量值出现的一些问题
xmake v2.5.5
New features
- #1421: Add prefix, suffix and extension options for target names
- #1422: Support search packages from vcpkg, conan
- #1424: Set binary as default target kind
- #1140: Add a way to ask xmake to try to download dependencies from a certain package manager
- #1339: Improve
xmake package
to generate new local/remote packages - Add
appletvos
platform support for AppleTV,xmake f -p appletvos
- #1437: Add headeronly library type for package to ignore
vs_runtime
- #1351: Support export/import current configs
- #1454: Support to download and install precompiled image packages from xmake-mirror
Change
- #1425: Improve tools/meson to load msvc envirnoments
- #1442: Support to clone package resources from git url
- #1389: Support to add toolchain envs to
xrepo env
- #1453: Support to export protobuf includedirs
- Support vs2022
Bugs fixed
- #1413: Fix hangs on fetching packages
- #1420: Fix config and packages cache
- #1445: Fix WDK driver sign error
- #1465: Fix missing link directory
新特性
- #1421: 针对 target 目标,增加目标文件名的前缀,后缀和扩展名设置接口。
- #1422: 支持从 vcpkg, conan 中搜索包
- #1424: 设置 binary 作为默认的 target 目标类型
- #1140: 支持安装时候,手动选择从第三包包管理器安装包
- #1339: 改进
xmake package
去产生新的本地包格式,无缝集成add_requires
,并且新增生成远程包支持 - 添加
appletvos
编译平台支持,xmake f -p appletvos
- #1437: 为包添加 headeronly 库类型去忽略
vs_runtime
- #1351: 支持导入导出当前配置
- #1454: 支持下载安装 windows 预编译包
改进
- #1425: 改进 tools/meson 去加载 msvc 环境,并且增加一些内置配置。
- #1442: 支持从 git url 去下载包资源文件
- #1389: 支持添加工具链环境到
xrepo env
- #1453: 支持 protobuf 规则导出头文件搜索目录
- 新增对 vs2022 的支持
Bugs 修复
xmake v2.5.4
New features
- #1323: Support find and install package from
apt
,add_requires("apt::zlib1g-dev")
- #1337: Add environment vars to change package directories
- #1338: Support import and export installed packages
- #1087: Add
xrepo env shell
and support load envs fromadd_requires/xmake.lua
- #1313: Support private package for
add_requires/add_deps
- #1358: Support to set mirror url to speedup download package
- #1369: Support arm/arm64 packages for vcpkg, thanks @fallending
- #1405: Add portage package manager support, thanks @Phate6660
Change
- Improve
find_package
and addpackage:find_package
for xmake package - Remove deprecated
set_config_h
andset_config_h_prefix
apis - #1343: Improve to search local package files
- #1347: Improve to vs_runtime configs for binary package
- #1353: Improve del_files() to speedup matching files
- #1349: Improve
xrepo env shell
to support powershell
Bugs fixed
- #1380: Fix add packages errors
- #1381: Fix add local git source for package
- #1391: Fix cuda/nvcc toolchain
新特性
- #1323: 支持从 apt 查找安装包,
add_requires("apt::zlib1g-dev")
- #1337: 添加环境变量去改进包安装和缓存目录
- #1338: 支持导入导出已安装的包
- #1087: 添加
xrepo env shell
并且支持从add_requires/xmake.lua
加载包环境 - #1313: 为
add_requires/add_deps
添加私有包支持 - #1358: 支持设置镜像 url 站点加速包下载
- #1369: 为 vcpkg 增加 arm/arm64 包集成支持,感谢 @fallending
- #1405: 添加 portage 包管理器支持,感谢 @Phate6660
改进
- 改进
find_package
并且添加package:find_package
接口在包定义中方便查找包 - 移除废弃的
set_config_h
和set_config_h_prefix
接口 - #1343: 改进搜索本地包文件
- #1347: 针对 binary 包改进 vs_runtime 配置
- #1353: 改进 del_files() 去加速匹配文件
- #1349: 改进 xrepo env shell 支持,更好的支持 powershell
Bugs 修复
xmake v2.5.3
New features
- #1259: Support
add_files("*.def")
to export symbols for windows/dll - #1267: add
find_package("nvtx")
- #1274: add
platform.linux.bpf
rule to build linux/bpf program - #1280: Support fetchonly package to improve find_package
- Support to fetch remote ndk toolchain package
- #1268: Add
utils.install.pkgconfig_importfiles
rule to install*.pc
import file - #1268: Add
utils.install.cmake_importfiles
rule to install*.cmake
import files - #348: Add
platform.longpaths
policy to support git longpaths - #1314: Support to install and use conda packages
- #1120: Add
core.base.cpu
module and improveos.cpuinfo()
- #1325: Add builtin git variables for
add_configfiles
Change
- #1275: Support conditionnal targets for vsxmake plugin
- #1290: Improve android ndk to support >= r22
- #1311: Add packages lib folder to PATH for vsxmake project
Bugs fixed
新特性
- #1259: 支持
add_files("*.def")
添加 def 文件去导出 windows/dll 符号 - #1267: 添加
find_package("nvtx")
- #1274: 添加
platform.linux.bpf
规则去构建 linux/bpf 程序 - #1280: 支持 fetchonly 包去扩展改进 find_package
- 支持自动拉取远程 ndk 工具链包和集成
- #1268: 添加
utils.install.pkgconfig_importfiles
规则去安装*.pc
文件 - #1268: 添加
utils.install.cmake_importfiles
规则去安装*.cmake
导入文件 - #348: 添加
platform.longpaths
策略去支持 git longpaths - #1314: 支持安装使用 conda 包
- #1120: 添加
core.base.cpu
模块并且改进os.cpuinfo()
- #1325: 为
add_configfiles
添加内建的 git 变量
改进
- #1275: 改进 vsxmake 生成器,支持条件化编译 targets
- #1290: 增加对 Android ndk r22 以上版本支持
- #1311: 为 vsxmake 工程添加包 dll 路径,确保调试运行加载正常
Bugs 修复
xmake v2.5.2
New features
- #955: Support
zig cc
andzig c++
as c/c++ compiler - #955: Support zig cross-compilation
- #1177: Improve to detect terminal and color codes
- #1216: Pass custom configuration scripts to xrepo
- Add linuxos builtin module to get linux system information
- #1217: Support to fetch remote toolchain package when building project
- #1123: Add
rule("utils.symbols.export_all")
to export all symbols for windows/dll - #1181: Add
utils.platform.gnu2mslib(mslib, gnulib)
module api to convert mingw/xxx.dll.a to msvc xxx.lib - #1246: Improve rules and generators to support commands list
- #1239: Add
add_extsources
to improve find external packages - #1241: Support add .manifest files for windows program
- Support to use
xrepo remove --all
to remove all packages - #1254: Support to export packages to parent target
Change
- #1226: Add missing qt include directories
- #1183: Improve c++ lanuages to support Qt6
- #1237: Add qt.ui files for vsxmake plugin
- Improve vs/vsxmake plugins to support precompiled header and intellisense
- #1090: Simplify integration of custom code generators
- #1065: Improve protobuf rule to support compile_commands generators
- #1249: Improve vs/vsxmake generator to support startproject
- #605: Improve to link orders for add_deps/add_packages
- Remove deprecated
add_defines_h_if_ok
andadd_defines_h
apis for option
Bugs fixed
新特性
- #955: 支持
zig cc
和zig c++
作为 c/c++ 编译器 - #955: 支持使用 zig 进行交叉编译
- #1177: 改进终端和 color codes 探测
- #1216: 传递自定义 includes 脚本给 xrepo
- 添加 linuxos 内置模块获取 linux 系统信息
- #1217: 支持当编译项目时自动拉取工具链
- #1123: 添加
rule("utils.symbols.export_all")
自动导出所有 windows/dll 中的符号 - #1181: 添加
utils.platform.gnu2mslib(mslib, gnulib)
模块接口去转换 mingw/xxx.dll.a 到 msvc xxx.lib - #1246: 改进规则支持新的批处理命令去简化自定义规则实现
- #1239: 添加
add_extsources
去改进外部包的查找 - #1241: 支持为 windows 程序添加 .manifest 文件参与链接
- 支持使用
xrepo remove --all
命令去移除所有的包,并且支持模式匹配 - #1254: 支持导出包配置给父 target,实现包配置的依赖继承
改进
- #1226: 添加缺失的 Qt 头文件搜索路径
- #1183: 改进 C++ 语言标准,以便支持 Qt6
- #1237: 为 vsxmake 插件添加 qt.ui 文件
- 改进 vs/vsxmake 插件去支持预编译头文件和智能提示
- #1090: 简化自定义规则
- #1065: 改进 protobuf 规则,支持 compile_commands 生成器
- #1249: 改进 vs/vsxmake 生成器去支持启动工程设置
- #605: 改进 add_deps 和 add_packages 直接的导出 links 顺序
- 移除废弃的
add_defines_h_if_ok
andadd_defines_h
接口
Bugs 修复
xmake v2.5.1
New features
- #1035: The graphics configuration menu fully supports mouse events, and support scroll bar
- #1098: Support stdin for os.execv
- #1079: Add autoupdate plugin rule for vsxmake,
add_rules("plugin.vsxmake.autoupdate")
- Add
xmake f --vs_runtime=MT
andset_runtimes("MT")
to set vs runtime for targets and packages - #1032: Support to enum registry keys and values
- #1026: Support group for vs/vsxmake project
- #1178: Add
add_requireconfs()
api to rewrite configs of depend packages - #1043: Add
luarocks.module
rule for luarocks-build-xmake - #1190: Support for Apple Silicon (macOS ARM)
- #1145: Support Qt deploy for Windows, thanks @SirLynix
Change
- #1072: Fix and improve to parse cl deps
- Support utf8 for ui modules and
xmake f --menu
- Improve to support zig on macOS
- #1135: Improve multi-toolchain and multi-platforms for targets
- #1153: Improve llvm toolchain to support sysroot on macOS
- #1071: Improve to generate vs/vsxmake project to support for remote packages
- Improve vs/vsxmake project plugin to support global
set_arch()
setting - #1164: Improve to launch console programs for vsxmake project
- #1179: Improve llvm toolchain and add isysroot
Bugs fixed
- #1091: Fix incorrect ordering of inherited library dependencies
- #1105: Fix c++ language intellisense for vsxmake
- #1132: Fix TrimEnd bug for vsxmake
- #1142: Fix git not found when installing packages
- Fix macos.version bug for macOS Big Sur
- #1084: Fix
add_defines()
bug (contain spaces) - #1195: Fix unicode problem for vs and improve find_vstudio/os.exec
新特性
- #1035: 图形配置菜单完整支持鼠标事件,并且新增滚动栏
- #1098: 支持传递 stdin 到 os.execv 进行输入重定向
- #1079: 为 vsxmake 插件添加工程自动更新插件,
add_rules("plugin.vsxmake.autoupdate")
- 添加
xmake f --vs_runtime=MT
和set_runtimes("MT")
去更方便的对 target 和 package 进行设置 - #1032: 支持枚举注册表 keys 和 values
- #1026: 支持对 vs/vsmake 工程增加分组设置
- #1178: 添加
add_requireconfs()
接口去重写依赖包的配置 - #1043: 为 luarocks 模块添加
luarocks.module
构建规则 - #1190: 添加对 Apple Silicon (macOS ARM) 设备的支持
- #1145: 支持在 windows 上安装部署 Qt 程序, 感谢 @SirLynix
改进
- #1072: 修复并改进 cl 编译器头文件依赖信息
- 针对 ui 模块和
xmake f --menu
增加 utf8 支持 - 改进 zig 语言在 macOS 上的支持
- #1135: 针对特定 target 改进多平台多工具链同时配置支持
- #1153: 改进 llvm 工具链,针对 macos 上编译增加 isysroot 支持
- #1071: 改进 vs/vsxmake 生成插件去支持远程依赖包
- 改进 vs/vsxmake 工程生成插件去支持全局的
set_arch()
设置 - #1164: 改进 vsxmake 插件调试加载 console 程序
- #1179: 改进 llvm 工具链,添加 isysroot
Bugs 修复
xmake v2.3.9
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
andembed
toset_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
菜单配置,支持鼠标操作
改进
xmake 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
andc17
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
新特性
- #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修复
xmake v2.3.7
New features
- #2941: Add support for winget
- Add xmake-tinyc installer without msvc compiler for windows
- Add tinyc compiler toolchain
- Add emcc compiler toolchain (emscripten) to compiling to asm.js and WebAssembly
- #947: Add
xmake g --network=private
to enable the private network
Change
- #907: Improve to the linker optimization for msvc
- Improve to detect qt sdk environment
- #918: Improve to support cuda11 toolchains
- Improve Qt support for ubuntu/apt
- Improve CMake project generator
- #931: Support to export packages with all dependences
- #930: Support to download package without version list directly
- #927: Support to switch arm/thumb mode for android ndk
- Improve trybuild/cmake to support android/mingw/iphoneos/watchos toolchains
Bugs fixed
- #903: Fix install vcpkg packages fails
- #912: Fix the custom toolchain
- #914: Fix bad light userdata pointer for lua on some aarch64 devices
新特性
- #2941: 支持通过 winget 来安装 xmake
- 添加 xmake-tinyc 安装包,内置tinyc编译器,支持windows上无msvc环境也可直接编译c代码
- 添加 tinyc 编译工具链
- 添加 emcc (emscripten) 编译工具链去编译 asm.js 和 WebAssembly
- #947: 通过
xmake g --network=private
配置设置私有网络模式,避免远程依赖包下载访问外网导致编译失败
改进
- #907: 改进msvc的链接器优化选项,生成更小的可执行程序
- 改进ubuntu下Qt环境的支持
- #918: 改进cuda11工具链的支持
- 改进Qt支持,对通过 ubuntu/apt 安装的Qt sdk也进行了探测支持,并且检测效率也优化了下
- 改进 CMake 工程文件生成器
- #931: 改进导出包,支持导出所有依赖包
- #930: 如果私有包定义没有版本定义,支持直接尝试下载包
- #927: 改进android ndk,支持arm/thumb指令模式切换
- 改进 trybuild/cmake 支持 Android/Mingw/iPhoneOS/WatchOS 工具链