Skip to content

Releases: xmake-io/xmake

xmake v2.2.5

01 Apr 13:30
d71a016
Compare
Choose a tag to compare

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环境改动后查找工具不对问题

xmake v2.2.3

28 Nov 14:19
Compare
Choose a tag to compare

New features

  • #233: Support windres for mingw platform
  • #239: Add cparser compiler support
  • Add plugin manager xmake plugin --help
  • Add add_syslinks api to add system libraries dependence
  • Add xmake l time xmake [--rebuild] to record compilation time
  • #250: Add xmake f --vs_sdkver=10.0.15063.0 to change windows sdk version
  • Add lib.luajit.ffi and lib.luajit.jit extension modules
  • #263: Add new target kind: object to only compile object files

Changes

  • #229: Improve to select toolset for vcproj plugin
  • Improve compilation dependences
  • Support *.xz for extractor
  • #249: revise progress formatting to space-leading three digit percentages
  • #247: Add -D and --diagnosis instead of --backtrace
  • #259: Improve on_build, on_build_file and on_xxx for target and rule
  • #269: Clean up the temporary files at last 30 days
  • Improve remote package manager
  • Support to add packages with only header file
  • Support to modify builtin package links, e.g. add_packages("xxx", {links = {}})

Bugs fixed

  • Fix state inconsistency after failed outage of installation dependency package

新特性

  • #233: 对mingw平台增加windres的支持
  • #239: 添加cparser编译器支持
  • 添加插件管理器,xmake plugin --help
  • 添加add_syslinks接口去设置系统库依赖,分离与add_links添加的库依赖之间的链接顺序
  • 添加 xmake l time xmake [--rebuild] 去记录编译耗时
  • #250: 添加xmake f --vs_sdkver=10.0.15063.0去改变windows sdk版本
  • 添加lib.luajit.ffilib.luajit.jit扩展模块
  • #263: 添加object目标类型,仅仅用于编译生成object对象文件
  • #269: 每天第一次构建时候后台进程自动清理最近30天的临时文件

改进

  • #229: 改进vs toolset选择已经vcproj工程文件生成
  • 改进编译依赖,对源文件列表的改动进行依赖判断
  • 支持解压*.xz文件
  • #249: 改进编译进度信息显示格式
  • #247: 添加-D--diagnosis去替换--backtrace,改进诊断信息显示
  • #259: 改进 on_build, on_build_file 和 on_xxx 等接口
  • 改进远程包管理器,更加方便的包依赖配置切换
  • 支持only头文件依赖包的安装
  • 支持对包内置links的手动调整,add_packages("xxx", {links = {}})

Bugs修复

  • 修复安装依赖包失败中断后的状态不一致性问题

xmake v2.2.2

16 Oct 13:21
Compare
Choose a tag to compare

New features

  • Support fasm assembler
  • Add has_config, get_config, and is_config apis
  • Add set_config to set the default configuration
  • Add $xmake --try to try building project using third-party buildsystem
  • Add set_enabled(false) to disable target
  • #69: Add remote package management, add_requires("tbox ~1.6.1")
  • #216: Add windows mfc rules

Changes

  • Improve to detect Qt envirnoment and support mingw
  • Add debug and release rules to the auto-generated xmake.lua
  • #178: Modify the shared library name for mingw.
  • Support case-insensitive path pattern-matching for add_files() on windows
  • Improve to detect Qt sdk directory for detect.sdks.find_qt
  • #184: Improve lib.detect.find_package to support vcpkg
  • #208: Improve rpath for shared library
  • #225: Improve to detect vs envirnoment

Bug fixed

  • #177: Fix the dependent target link bug
  • Fix high cpu usage bug and Exit issues for $ xmake f --menu
  • #197: Fix Chinese path for generating vs201x project
  • Fix wdk rules bug
  • #205: Fix targetdir,objectdir not used in vsproject

新特性

  • 新增fasm汇编器支持
  • 添加has_config, get_configis_config接口去快速判断option和配置值
  • 添加set_config接口去设置默认配置
  • 添加$xmake --try去尝试构建工程
  • 添加set_enabled(false)去显示的禁用target
  • #69: 添加远程依赖包管理, add_requires("tbox ~1.6.1")
  • #216: 添加windows mfc编译规则

改进

  • 改进Qt编译编译环境探测,增加对mingw sdk的支持
  • 在自动扫描生成的xmake.lua中增加默认debug/release规则
  • #178: 修改mingw平台下的目标名
  • 对于add_files()在windows上支持大小写不敏感路径模式匹配
  • 改进detect.sdks.find_qt对于Qt根目录的探测
  • #184: 改进lib.detect.find_package支持vcpkg
  • #208: 改进rpath对动态库的支持
  • #225: 改进vs环境探测

Bugs修复

  • #177: 修复被依赖的动态库target,如果设置了basename后链接失败问题
  • 修复$ xmake f --menu中Exit问题以及cpu过高问题
  • #197: 修复生成的vs201x工程文件带有中文路径乱码问题
  • 修复WDK规则编译生成的驱动在Win7下运行蓝屏问题
  • #205: 修复vcproj工程生成targetdir, objectdir路径设置不匹配问题

xmake v2.2.1

16 Jun 14:08
Compare
Choose a tag to compare

New features

  • #158: Support CUDA Toolkit and Compiler
  • Add set_tools and add_tools apis to change the toolchains for special target
  • Add builtin rules: mode.debug, mode.release, mode.profile and mode.check
  • Add is_mode, is_arch and is_plat builtin apis in the custom scripts
  • Add color256 codes
  • #160: Support Qt compilation environment and add qt.console, qt.application rules
  • Add some Qt project templates
  • #169: Support yasm for linux, macosx and windows
  • #159: Support WDK driver compilation environment

Changes

  • Add FAQ to the auto-generated xmake.lua
  • Support android NDK >= r14
  • Improve warning flags for swiftc
  • #167: Improve custom rules
  • Improve os.files and os.dirs api
  • #171: Improve build dependence for qt rule
  • Implement make clean for generating makefile plugin

Bugs fixed

  • Fix force to add flags bug
  • #157: Fix generate pdb file error if it's output directory does not exists
  • Fix strip all symbols bug for macho target file
  • #168: Fix generate vs201x project bug with x86/x64 architectures

新特性

  • #158: 增加对Cuda编译环境的支持
  • 添加set_toolsadd_tools接口为指定target目标设置编译工具链
  • 添加内建规则:mode.debug, mode.release, mode.profilemode.check
  • 添加is_mode, is_archis_plat内置接口到自定义脚本域
  • 添加color256代码
  • #160: 增加对Qt SDK编译环境的跨平台支持,并且增加qt.console, qt.application等规则
  • 添加一些Qt工程模板
  • #169: 支持yasm汇编器
  • #159: 增加对WDK驱动编译环境支持

改进

  • 添加FAQ到自动生成的xmake.lua文件,方便用户快速上手
  • 支持Android NDK >= r14的版本
  • 改进swiftc对warning flags的支持
  • #167: 改进自定义规则:rule()
  • 改进os.filesos.dirs接口,加速文件模式匹配
  • #171: 改进Qt环境的构建依赖
  • 在makefile生成插件中实现make clean

Bugs修复

  • 修复无法通过add_ldflags("xx", "xx", {force = true})强制设置多个flags的问题
  • #157: 修复pdb符号输出目录不存在情况下编译失败问题
  • 修复对macho格式目标strip all符号失效问题
  • #168: 修复生成vs201x工程插件,在x64下失败的问题

xmake v2.1.9

03 Feb 12:45
Compare
Choose a tag to compare

New features

  • Add del_files() api to delete files in the files list
  • Add rule(), add_rules() api to implement the custom build rule and improve add_files("src/*.md", {rule = "markdown"})
  • Add os.filesize() api
  • Add core.ui.xxx cui components
  • Add xmake f --menu to configure project with a menu configuration interface
  • Add set_values api to option()
  • Support to generate a menu configuration interface from user custom project options
  • Add source file position to interpreter and search results in menu

Changes

  • Improve to configure cross-toolchains, add tool alias to support unknown tool name, .e.g xmake f --cc=gcc@ccmips.exe
  • #151: Improve to build the share library for the mingw platform
  • Improve to generate makefile plugin
  • Improve the checking errors tips
  • Improve add_cxflags .., force to set flags without auto checking: add_cxflags("-DTEST", {force = true})
  • Improve add_files, add force block to force to set flags without auto checking: add_files("src/*.c", {force = {cxflags = "-DTEST"}})
  • Improve to search the root project directory
  • Improve to detect vs environment
  • Upgrade luajit to 2.1.0-beta3
  • Support to run xmake on linux (arm, arm64)
  • Improve to generate vs201x project plugin

Bugs fixed

  • Fix complation dependence
  • #151: Fix os.nuldev() for gcc on mingw
  • #150: Fix the command line string limitation for ar.exe
  • Fix xmake f --cross error
  • Fix os.cd to the windows root path bug

新特性

  • 添加del_files()接口去从已添加的文件列表中移除一些文件
  • 添加rule(), add_rules()接口实现自定义构建规则,并且改进add_files("src/*.md", {rule = "markdown"})
  • 添加os.filesize()接口
  • 添加core.ui.xxx等cui组件模块,实现终端可视化界面,用于实现跟用户进行短暂的交互
  • 通过xmake f --menu实现可视化菜单交互配置,简化工程的编译配置
  • 添加set_values接口到option
  • 改进option,支持根据工程中用户自定义的option,自动生成可视化配置菜单
  • 在调用api设置工程配置时以及在配置菜单中添加源文件位置信息

改进

  • 改进交叉工具链配置,通过指定工具别名定向到已知的工具链来支持未知编译工具名配置, 例如: xmake f --cc=gcc@ccmips.exe
  • #151: 改进mingw平台下动态库生成
  • 改进生成makefile插件
  • 改进检测错误提示
  • 改进add_cxflags等flags api的设置,添加force参数,来禁用自动检测和映射,强制设置选项:add_cxflags("-DTEST", {force = true})
  • 改进add_files的flags设置,添加force域,用于设置不带自动检测和映射的原始flags:add_files("src/*.c", {force = {cxflags = "-DTEST"}})
  • 改进搜索工程根目录策略
  • 改进vs环境探测,支持加密文件系统下vs环境的探测
  • 升级luajit到最新2.1.0-beta3
  • 增加对linux/arm, arm64的支持,可以在arm linux上运行xmake
  • 改进vs201x工程生成插件,更好的includedirs设置支持

Bugs修复

  • 修复依赖修改编译和链接问题
  • #151: 修复os.nuldev()在mingw上传入gcc时出现问题
  • #150: 修复windows下ar.exe打包过长obj列表参数,导致失败问题
  • 修复xmake f --cross无法配置问题
  • 修复os.cd到windows根路径问题

video

xmake v2.1.8

07 Nov 13:28
Compare
Choose a tag to compare

New features

  • Add XMAKE_LOGFILE environment variable to dump the output info to file
  • Support tinyc compiler

Changes

  • Improve support for IDE/editor plugins (.e.g vscode, sublime, intellij-idea)
  • Add .gitignore file when creating new projects
  • Improve to create template project
  • Improve to detect toolchains on macosx without xcode
  • Improve set_config_header to support set_config_header("config", {version = "2.1.8", build = "%Y%m%d%H%M"})

Bugs fixed

  • #145: Fix the current directory when running target

新特性

  • 添加XMAKE_LOGFILE环境变量,启用输出到日志文件
  • 添加对tinyc编译器的支持

改进

  • 改进对IDE和编辑器插件的集成支持,例如:Visual Studio Code, Sublime Text 以及 IntelliJ IDEA
  • 当生成新工程的时候,自动生成一个.gitignore文件,忽略一些xmake的临时文件和目录
  • 改进创建模板工程,使用模板名代替模板id作为参数
  • 改进macOS编译平台的探测,如果没有安装xcode也能够进行编译构建,如果有编译器的话
  • 改进set_config_header接口,支持局部版本号设置,优先于全局set_version,例如:set_config_header("config", {version = "2.1.8", build = "%Y%m%d%H%M"})

Bugs修复

  • #145: 修复运行target的当前目录环境

xmake v2.1.7

13 Oct 09:54
Compare
Choose a tag to compare

New features

  • Add add_imports to bulk import modules for the target, option and package script
  • Add xmake -y/--yes to confirm the user input by default
  • Add xmake l package.manager.install xxx to install software package
  • Add xmake plugin for vscode editor, xmake-vscode
  • Add xmake macro .. to run the last command

Changes

  • Support 24bits truecolors for cprint()
  • Support @loader_path and $ORIGIN for add_rpathdirs()
  • Improve set_version("x.x.x", {build = "%Y%m%d%H%M"}) and add build version
  • Move docs directory to xmake-docs repo
  • Improve install and uninstall actions and support DESTDIR and PREFIX envirnoment variables
  • Optimize to detect flags
  • Add COLORTERM=nocolor to disable color output
  • Remove and_bindings and add_rbindings api
  • Disable to output colors code to file
  • Update project templates with tbox
  • Improve lib.detect.find_program interface
  • Enable colors output for windows cmd
  • Add -w|--warning arguments to enable the warnings output

Bugs fixed

  • Fix set_pcxxheader bug
  • #140: Fix os.tmpdir() in fakeroot
  • #142: Fix os.getenv charset bug on windows
  • Fix compile error with spaces path
  • Fix setenv empty value bug

新特性

  • 添加add_imports去为target,option和package的自定义脚本批量导入模块,简化自定义脚本
  • 添加xmake -y/--yes去确认用户输入
  • 添加xmake l package.manager.install xxx模块,进行跨平台一致性安装软件包
  • 添加vscode编辑器插件支持,更加方便的使用xmake,xmake-vscode
  • 添加xmake macro ..快速运行最近一次命令

改进

  • 改进cprint(),支持24位真彩色输出
  • add_rpathdirs()增加对@loader_path$ORIGIN的内置变量支持,提供可迁移动态库加载
  • 改进set_version("x.x.x", {build = "%Y%m%d%H%M"}) 支持buildversion设置
  • 移除docs目录,将其放置到独立xmake-docs仓库中,减少xmake.zip的大小,优化下载安装的效率
  • 改进安装和卸载脚本,支持DESTDIR和PREFIX环境变量设置
  • 通过缓存优化flags探测,加速编译效率
  • 添加COLORTERM=nocolor环境变量开关,禁用彩色输出
  • 移除add_rbindingsadd_bindings接口
  • 禁止在重定向的时候进行彩色输出,避免输出文件中带有色彩代码干扰
  • 更新tbox工程模板
  • 改进lib.detect.find_program模块接口
  • 为windows cmd终端增加彩色输出
  • 增加-w|--warning参数来启用实时警告输出

Bugs修复

  • 修复set_pcxxheader编译没有继承flags配置问题
  • #140: 修复os.tmpdir()在fakeroot下的冲突问题
  • #142: 修复os.getenv 在windows上的中文编码问题
  • 修复在带有空格路径的情况下,编译错误问题
  • 修复setenv空值的崩溃问题

xmake v2.1.6

16 Aug 14:17
Compare
Choose a tag to compare

Changes

  • Improve add_files to configure the compile option of the given files
  • Inherit links and linkdirs from the dependent targets and options
  • Improve target.add_deps and add inherit config, .e.g add_deps("test", {inherit = false})
  • Remove the binary files of tbox.pkg
  • Use /Zi instead of /ZI for msvc

Bugs fixed

  • Fix target deps
  • Fix target:add and option:add bug
  • Fix compilation and installation bug on archlinux

改进

  • 改进add_files,支持对files粒度进行编译选项的各种配置,更加灵活。
  • 从依赖的target和option中继承links和linkdirs。
  • 改进target.add_deps接口,添加继承配置,允许手动禁止依赖继承,例如:add_deps("test", {inherit = false})
  • 移除tbox.pkg二进制依赖,直接集成tbox源码进行编译

Bugs修复

  • 修复目标级联依赖问题
  • 修复target:addoption:add问题
  • 修复在archlinux上的编译和安装问题
  • 修复/ZI的兼容性问题,用/Zi替代

xmake v2.1.5

05 Aug 15:09
Compare
Choose a tag to compare

New features

  • #83: Add add_csnippet and add_cxxsnippet into option for detecting some compiler features.
  • #83: Add user extension modules to detect program, libraries and files.
  • Add find_program, find_file, find_library, find_tool and find_package module interfaces.
  • Add net.* and devel.* extension modules
  • Add val() api to get the value of builtin-variable, .e.g val("host"), val("env PATH"), val("shell echo hello") and val("reg HKEY_LOCAL_MACHINE\\XX;Value")
  • Support to compile the microsoft resource file (.rc)
  • Add has_flags, features and has_features for detect module interfaces.
  • Add option.on_check, option.after_check and option.before_check api
  • Add target.on_load api
  • #132: Add add_frameworkdirs api
  • Add lib.detect.has_xxx and lib.detect.find_xxx apis.
  • Add add_moduledirs api
  • Add includes api instead of add_subdirs and add_subfiles
  • #133: Improve the project plugin to generate compile_commands.json by run xmake project -k compile_commands
  • Add set_pcheader and set_pcxxheader to support the precompiled header, support gcc, clang, msvc
  • Add xmake f -p cross platform and support the custom platform

Changes

  • #87: Add includes and links from target deps automatically
  • Improve import to load user extension and global modules
  • #93: Improve xmake lua to run a single line command
  • Improve to print gcc error and warning info
  • Improve print interface to dump table
  • #111: Add --root common option to allow run xmake command as root
  • #113: Privilege manage when running as root, store the root privilege and degrade.
  • Improve xxx_script in xmake.lua to support pattern match, .e.g on_build("iphoneos|arm*", function (target) end)
  • improve builtin-variables to support to get the value envirnoment and registry
  • Improve to detect vstudio sdk and cross toolchains envirnoment
  • #71: Improve to detect compiler and linker from env vars
  • Improve the option detection (cache and multi-jobs) and increase 70% speed
  • #129: Check link deps and cache the target file
  • Support *.asm source files for vs201x project plugin
  • Mark add_bindings and add_rbi�ndings as deprecated
  • Optimize xmake rebuild speed on windows
  • Move core.project.task to core.base.task
  • Move echo and app2ipa plugins to xmake-plugins repo.
  • Add new api set_config_header("config.h", {prefix = ""}) instead of set_config_h and set_config_h_prefix

Bugs fixed

  • Fix try-catch-finally
  • Fix interpreter bug when parsing multi-level subdirs
  • #115: Fix the path problem of the install script get.sh
  • Fix cache bug for import()

新特性

  • #83: 添加 add_csnippetadd_cxxsnippetoption来检测一些编译器特性
  • #83: 添加用户扩展模块去探测程序,库文件以及其他主机环境
  • 添加find_program, find_file, find_library, find_toolfind_package 等模块接口
  • 添加net.*devel.*扩展模块
  • 添加val()接口去获取内置变量,例如:val("host"), val("env PATH"), val("shell echo hello") and val("reg HKEY_LOCAL_MACHINE\\XX;Value")
  • 增加对微软.rc资源文件的编译支持,当在windows上编译时,可以增加资源文件了
  • 增加has_flags, featureshas_features等探测模块接口
  • 添加option.on_check, option.after_checkoption.before_check 接口
  • 添加target.on_load接口
  • #132: 添加add_frameworkdirs接口
  • 添加lib.detect.has_xxxlib.detect.find_xxx接口
  • 添加add_moduledirs接口在工程中定义和加载扩展模块
  • 添加includes接口替换add_subdirsadd_subfiles
  • #133: 改进工程插件,通过运行xmake project -k compile_commands来导出compile_commands.json
  • 添加set_pcheaderset_pcxxheader去支持跨编译器预编译头文件,支持gcc, clangmsvc
  • 添加xmake f -p cross平台用于交叉编译,并且支持自定义平台名

改进

  • #87: 为依赖库目标自动添加:includeslinks
  • 改进import接口,去加载用户扩展模块
  • #93: 改进 xmake lua,支持运行单行命令和模块
  • 改进编译错误提示信息输出
  • 改进print接口去更好些显示table数据
  • #111: 添加--root通用选项去临时支持作为root运行
  • #113: 改进权限管理,现在作为root运行也是非常安全的
  • 改进xxx_script工程描述api,支持多平台模式选择, 例如:on_build("iphoneos|arm*", function (target) end)
  • 改进内置变量,支持环境变量和注册表数据的获取
  • 改进vstudio环境和交叉工具链的探测
  • #71: 改进从环境变量中探测链接器和编译器
  • 改进option选项检测,通过多任务检测,提升70%的检测速度
  • #129: 检测链接依赖,如果源文件没有改变,就不必重新链接目标文件了
  • 在vs201x工程插件中增加对*.asm文件的支持
  • 标记add_bindingsadd_rbindings为废弃接口
  • 优化xmake rebuild在windows上的构建速度
  • core.project.task模块迁移至core.base.task
  • echoapp2ipa 插件迁移到 xmake-plugins 仓库
  • 添加set_config_header("config.h", {prefix = ""}) 代替 set_config_hset_config_h_prefix

Bugs修复

  • 修复try-catch-finally
  • 修复解释器bug,解决当加载多级子目录时,根域属性设置不对
  • #115: 修复安装脚本get.sh的路径问题
  • 修复import()导入接口的缓存问题

xmake v2.1.4

10 May 00:53
Compare
Choose a tag to compare

New features

  • #68: Add $(programdir) and $(xmake) builtin variables
  • add is_host api to get current host operating system
  • #79: Improve xmake lua to run interactive commands, read-eval-print (REPL)

Changes

  • Modify option menu color.
  • #71: Improve to map optimization flags for cl.exe
  • #73: Attempt to get executable path as xmake's program directory
  • Improve the scope of xmake.lua in add_subdirs and use independent sub-scope to avoid dirty scope
  • #78: Get terminal size in runtime and soft-wrap the help printing
  • Avoid generate .xmake directory if be not in project

Bugs fixed

  • #67: Fix sudo make install permission problem
  • #70: Fix check android compiler error
  • Fix temporary file path conflict
  • Fix os.host and os.arch interfaces
  • Fix interpreter bug for loading root api
  • #77: fix cprint no color reset eol

新特性

  • #68: 增加$(programdir)$(xmake)内建变量
  • 添加is_host接口去判断当前的主机环境
  • #79: 增强xmake lua,支持交互式解释执行

改进

  • 修改菜单选项颜色
  • #71: 针对widows编译器改进优化选项映射
  • #73: 尝试获取可执行文件路径来作为xmake的脚本目录
  • add_subdirs中的子xmake.lua中,使用独立子作用域,避免作用域污染导致的干扰问题
  • #78: 美化非全屏终端窗口下的xmake --help输出
  • 避免产生不必要的.xmake目录,如果不在工程中的时候

Bugs修复

  • #67: 修复 sudo make install 命令权限问题
  • #70: 修复检测android编译器错误
  • 修复临时文件路径冲突问题
  • 修复os.host, os.arch等接口
  • 修复根域api加载干扰其他子作用域问题
  • #77: 修复cprint色彩打印中断问题