github xmake-io/xmake v2.2.5
xmake v2.2.5

latest releases: v2.9.3, v2.9.2, v2.9.1...
5 years ago

New features

  • Add string.serialize and string.deserialize to serialize and deserialize object, function and others.
  • Add xmake g --menu
  • #283: Add target:installdir() and set_installdir() api for target
  • #260: Add add_platformdirs api, we can define custom platforms
  • #310: Add theme feature
  • #318: Add add_installfiles api to target
  • #339: Improve add_requires and find_package to integrate the 3rd package manager
  • #327: Integrate with Conan package manager
  • Add the builtin api find_packages("pcre2", "zlib") to find multiple packages
  • #320: Add template configuration files and replace all variables before building
  • #179: Generate CMakelist.txt file for xmake project plugin
  • #361: Support vs2019 preview
  • #368: Support private, public, interface to improve dependency inheritance like cmake
  • #284: Add passing user configs description for package()
  • #319: Add add_headerfiles to improve to set header files and directories
  • #342: Add some builtin help functions for includes(), e.g. check_cfuncs

Changes

  • Improve to switch version and debug mode for the dependent packages
  • #264: Support xmake update dev on windows
  • #293: Add xmake f/g --mingw=xxx configuration option and improve to find_mingw
  • #301: Improve precompiled header file
  • #322: Add option.add_features, option.add_cxxsnippets and option.add_csnippets
  • Remove some deprecated interfaces of xmake 1.x, e.g. add_option_xxx
  • #327: Support conan package manager for lib.detect.find_package
  • Improve lib.detect.find_package and add builtin find_packages("zlib 1.x", "openssl", {xxx = ...}) api
  • Mark set_modes() as deprecated, we use add_rules("mode.debug", "mode.release") instead of it
  • #353: Improve target:set, target:add and add target:del to modify target configuration
  • #356: Add qt_add_static_plugins() api to support static Qt sdk
  • #351: Support yasm for generating vs201x project
  • Improve the remote package manager.

Bugs fixed

  • Fix cannot call set_optimize() to set optimization flags when exists add_rules("mode.release")
  • #289: Fix unarchive gzip file failed on windows
  • #296: Fix option.add_includedirs for cuda
  • #321: Fix find program bug with $PATH envirnoment

新特性

  • 添加string.serializestring.deserialize去序列化,反序列化对象,函数以及其他类型
  • 添加xmake g --menu去图形化配置全局选项
  • #283: 添加target:installdir()set_installdir()接口
  • #260: 添加add_platformdirs接口,用户现在可以自定义扩展编译平台
  • #310: 新增主题设置支持,用户可随意切换和扩展主题样式
  • #318: 添加add_installfiles接口到target去自定义安装文件
  • #339: 改进add_requiresfind_package使其支持对第三方包管理的集成支持
  • #327: 实现对conan包管理的集成支持
  • 添加内置API find_packages("pcre2", "zlib")去同时查找多个依赖包,不需要通过import导入即可直接调用
  • #320: 添加模板配置文件相关接口,add_configfilesset_configvar
  • #179: 扩展xmake project插件,新增CMakelist.txt生成支持
  • #361: 增加对vs2019 preview的支持
  • #368: 支持private, public, interface属性设置去继承target配置
  • #284: 通过add_configs()添加和传递用户自定义配置到package()
  • #319: 添加add_headerfiles接口去改进头文件的设置
  • #342: 为includes()添加一些内置的辅助函数,例如:check_cfuncs

改进

  • 针对远程依赖包,改进版本和调试模式切换
  • #264: 支持在windows上更新dev/master版本,xmake update dev
  • #293: 添加xmake f/g --mingw=xxx 配置选线,并且改进find_mingw检测
  • #301: 改进编译预处理头文件以及依赖头文件生成,编译速度提升30%
  • #322: 添加option.add_features, option.add_cxxsnippetsoption.add_csnippets
  • 移除xmake 1.x的一些废弃接口, 例如:add_option_xxx
  • #327: 改进lib.detect.find_package增加对conan包管理器的支持
  • 改进lib.detect.find_package并且添加内建的find_packages("zlib 1.x", "openssl", {xxx = ...})接口
  • 标记set_modes()作为废弃接口, 我们使用add_rules("mode.debug", "mode.release")来替代它
  • #353: 改进target:set, target:add 并且添加target:del去动态修改target配置
  • #356: 添加qt_add_static_plugins()接口去支持静态Qt sdk
  • #351: 生成vs201x插件增加对yasm的支持
  • 重构改进整个远程依赖包管理器,更加快速、稳定、可靠,并提供更多的常用包

Bugs修复

  • 修复无法通过 set_optimize() 设置优化选项,如果存在add_rules("mode.release")的情况下
  • #289: 修复在windows下解压gzip文件失败
  • #296: 修复option.add_includedirs对cuda编译不生效
  • #321: 修复PATH环境改动后查找工具不对问题

Don't miss a new xmake release

NewReleases is sending notifications on new releases.