代码拉取完成,页面将自动刷新
os.joinenvs()
和改进包工具环境set_allowedmodes
, set_allowedplats
和 set_allowedarchs
set_defaultmode
, set_defaultplat
和 set_defaultarch
xmake package
去产生新的本地包格式,无缝集成 add_requires
,并且新增生成远程包支持appletvos
编译平台支持, xmake f -p appletvos
vs_runtime
xrepo env
add_files("*.def")
添加 def 文件去导出 windows/dll 符号find_package("nvtx")
platform.linux.bpf
规则去构建 linux/bpf 程序utils.install.pkgconfig_importfiles
规则去安装 *.pc
文件utils.install.cmake_importfiles
规则去安装 *.cmake
导入文件platform.longpaths
策略去支持 git longpathscore.base.cpu
模块并且改进 os.cpuinfo()
add_configfiles
添加内建的 git 变量zig cc
和 zig c++
作为 c/c++ 编译器rule("utils.symbols.export_all")
自动导出所有 windows/dll 中的符号utils.platform.gnu2mslib(mslib, gnulib)
模块接口去转换 mingw/xxx.dll.a 到 msvc xxx.libadd_extsources
去改进外部包的查找xrepo remove --all
命令去移除所有的包,并且支持模式匹配add_defines_h_if_ok
and add_defines_h
接口add_rules("plugin.vsxmake.autoupdate")
xmake f --vs_runtime=MT
和 set_runtimes("MT")
去更方便的对 target 和 package 进行设置add_requireconfs()
接口去重写依赖包的配置luarocks.module
构建规则xmake f --menu
增加 utf8 支持set_arch()
设置add_requires("libcurl 7.73.0", {verify = false})
add_sysincludedirs
,依赖包默认使用-isystem
xmake f --menu
菜单配置,支持鼠标操作del_files()
接口去从已添加的文件列表中移除一些文件rule()
, add_rules()
接口实现自定义构建规则,并且改进add_files("src/*.md", {rule = "markdown"})
os.filesize()
接口core.ui.xxx
等cui组件模块,实现终端可视化界面,用于实现跟用户进行短暂的交互xmake f --menu
实现可视化菜单交互配置,简化工程的编译配置set_values
接口到optionxmake f --cc=gcc@ccmips.exe
add_cxflags
等flags api的设置,添加force参数,来禁用自动检测和映射,强制设置选项:add_cxflags("-DTEST", {force = true})
add_files
的flags设置,添加force域,用于设置不带自动检测和映射的原始flags:add_files("src/*.c", {force = {cxflags = "-DTEST"}})
--sdk=xxx
xmake config --xxx=[y|n|yes|no|true|false]
add_files("*.a")
,修复一些bug--sdk=xxx
参数实现更加方便智能的进行交叉编译配置,简化mingw平台的编译配置xmake config --xxx=[y|n|yes|no|true|false]
等开关值xmake run -d program ...
import
interfacexmake run -d program ...
windows/linux/macosx
等大部分pc平台import
根目录错误问题--links
, --linkdirs
and --includedirs
configure argumentsxmake.lua
xmake.lua
set_xmakever
api for xmake.lua
add_frameworks
api for objc
and swift
golang
, dlang
and rust
languagetarget_end
, option_end
, task_end
apis for scopegolang
, dlang
and rust
project templatesos.run
, os.exec
, os.cp
, os.mv
and os.rm
interfaces and support wildcard pattern-q|--quiet
optionos.iorun
bug--links
, --linkdirs
and --includedirs
配置参数xmake.lua
工程描述增加dictionay语法风格xmake.lua
等工程描述文件的情况下,也能直接快速编译xmake.lua
工程描述添加set_xmakever
接口,更加友好的处理版本兼容性问题objc
和swift
程序添加add_frameworks
接口golang
, dlang
和rust
程序构建的支持target_end
, option_end
和task_end
等可选api,用于显示结束描述域,进入根域设置,提高可读性golang
, dlang
和rust
工程模板os.run
, os.exec
, os.cp
, os.mv
和 os.rm
等接口,支持通配符模式匹配和批量文件操作-q|--quiet
选项实现静默构建makefile
生成插件,抽取编译工具和编译选项到全局变量os.iorun
返回数据不对问题yaourt
包管理器进行安装。set_default
api for target to modify default build and install behaviorxmake
command in project subdirectories, it will find the project root directory automaticallyadd_rpathdirs
for target and optionxmake install
and xmake uninstall
task with administrator permissionrpm
, deb
and osxpkg
install packagexmake.lua
automaticallyarmv8-a
errorset_default
接口用于修改默认的构建所有targets行为xmake
命令进行构建,xmake会自动检测所在的工程根目录add_rpathdirs
api到target和option,支持动态库的自动加载运行xmake install
and xmake uninstall
任务,更友好的处理root安装问题rpm
, deb
和osxpkg
安装包xmake.lua
时,添加更友好的用户提示,避免用户无操作xmake.lua
. .e.g add_ldflags("$(shell pkg-config --libs sqlite3)")
getenv
interface for the global scope of xmake.lua
set_default
api for option*.cxx
files failedxmake.lua
中添加原生shell支持,例如:add_ldflags("$(shell pkg-config --libs sqlite3)")
getenv
接口到xmake.lua
的全局作用域中set_default
接口*.cxx
编译失败问题core/tools
(msys toolchains) and uses xmake to compile core sources on windowsxmake/packages
for templates-def:xxx.def
flags failed for msvccore/tools
目录以及msys工具链,在windows上使用xmake自编译core源码进行安装,优化xmake源码磁盘空间xmake/packages
,默认模板安装不再内置二进制packages,暂时需要手动放置,以后再做成自动包依赖下载编译-def:xxx.def