代码拉取完成,页面将自动刷新
package:check_sizeof()
xmake test
add_versionfiles
api in packagebuild.always_update_configfiles
policyxmake test
outputnetwork.mode
policyxmake pack
command to generate NSIS/zip/tar.gz/rpm/srpm/runself packages like cmake/cpackxmake test
supportrun.autobuild
policyxmake g --policies=
xmake -r --shallow target
to rebuild target without depsxrepo clean
xmake update
xmake check
to check project code (clang-tidy) and configuration--lsp=clangd
to improve to generate compile_commands.jsonxmake format
pluginplugin.compile_commands.autoupdate
rulegnu-rm.binary
and gnu-rm.static
rules and tests for embed projectxmake g --insecure-ssl=y
option to disable ssl certificate when downloading packagespackage.librarydeps.strict_compatibility
to strict compatibility for package linkdepsxmake watch
plugin commandxmake service --pull 'build/**' outputdir
to pull the given files in remote server{install = false}
support-fdirectives-only
for ccache by defaultxmake install
preprocessor.linemarkers
policy to disable linemarkers to speed up ccache/distccxmake run
to parallel running of targetspreprocessor.gcc.directives_only
policyxmake f --policies=
config argument to modify project policiesbuild.ccache
policy--appledev=simulator
to improve apple simulator supportadd_requires
to support git commit as versionadd_filegroups
to support file group for vs/vsxmake/cmake generatoros.files
xmake update --integrate
to integrate for shellxrepo install xxx.lua
python.library
rule to build pybind modulesremove_files
, remove_headerfiles
and mark del_files
as deprecatedxmake g --proxy_pac=github_mirror.lua
plugin.vsxmake.autoupdate
ruleXMAKE_THEME
envirnoment variable to switch theme-f/--force
to force to create project in a non-empty directoryutils.glsl2spv
rules to compile .vert/.frag shader files to spirv file and binary c header fileset_runtimes("microlib")
xmake f --menu
not responding in vscode and support ConPTY terminal virtkeysset_kind("headeronly")
for target to install files for headeronly libraryxmake l cli.amalgamate
xrepo env
-Gd
for ml.exe/x86check_macros
set_symbols("debug")
to generate pdb file for clang on windowsc++latest
and clatest
for set_languages
save_scope
and restore_scope
to fix check_xxx
apisos.joinenvs()
and improve package tools envirnomentsset_allowedmodes
, set_allowedplats
and set_allowedarchs
set_defaultmode
, set_defaultplat
and set_defaultarch
xmake package
to generate new local/remote packagesappletvos
platform support for AppleTV, xmake f -p appletvos
vs_runtime
xrepo env
apt
, add_requires("apt::zlib1g-dev")
xrepo env shell
and support load envs from add_requires/xmake.lua
add_requires/add_deps
find_package
and add package:find_package
for xmake packageset_config_h
and set_config_h_prefix
apisxrepo env shell
to support powershelladd_files("*.def")
to export symbols for windows/dllfind_package("nvtx")
platform.linux.bpf
rule to build linux/bpf programutils.install.pkgconfig_importfiles
rule to install *.pc
import fileutils.install.cmake_importfiles
rule to install *.cmake
import filesplatform.longpaths
policy to support git longpathscore.base.cpu
module and improve os.cpuinfo()
add_configfiles
zig cc
and zig c++
as c/c++ compilerrule("utils.symbols.export_all")
to export all symbols for windows/dllutils.platform.gnu2mslib(mslib, gnulib)
module api to convert mingw/xxx.dll.a to msvc xxx.libadd_extsources
to improve find external packagesxrepo remove --all
to remove all packagesadd_defines_h_if_ok
and add_defines_h
apis for optionadd_rules("plugin.vsxmake.autoupdate")
xmake f --vs_runtime=MT
and set_runtimes("MT")
to set vs runtime for targets and packagesadd_requireconfs()
api to rewrite configs of depend packagesluarocks.module
rule for luarocks-build-xmakexmake f --menu
set_arch()
settingadd_defines()
bug (contain spaces)add_requires("libcurl 7.73.0", {verify = false})
add_sysincludedirs
for package and toolchainsxmake f --menu
xmake project -k cmake
edit
and embed
to set_symbols()
only for msvcxmake project -k vs
plugin.depend.on_changed()
api to simplify adding dependent filesset_fpmodels()
for math optimization modec11
and c17
for MSVC Version 16.8 and Aboveadd_rules("c++.openmp")
add_requires("zlib~xxx")
to support for installing multi-packages at same timexmake g --network=private
to enable the private networkxmake project -k xcode
generator (use cmake)/sourceDependencies xxx.json
xmake show -l envs
to show all builtin envirnoment variablesadd_files("src/*.c", {rules = {"xx", override = true}})
set_toolchains()
when cross-compilation is supported, specific target can be switched to host toolchain and compiled at the same timeset_policy()
to set and modify some builtin policiesxmake show
plugin to show some builtin configuration values and infosxmake g --theme=ninja
xmake f --menu
xmake --dry-run -v
to dry run building target and only show verbose build command.homebrew/cmake
pacakges*.c
as c++, add_files("*.c", {sourcekind = "cxx"})
.xmake project -k ninja
, support for build.ninjaxmake project -k xmakefile
generator~/.xmakerc.lua
for all projects.core.base.socket
module.qt.widgetapp
and qt.quickapp
rulesset_toolchain
instead of add_tools
and set_tools
xmake create
actionxmake require
command too slowlyxmake project -k vsxmake
plugin to support call xmake from vs/msbuildadd_cleanfiles
api for targetset_runenv
api to override os/envsxmake f --cu=clang
set_rundir()
and add_runenvs()
api for target/runon_link
, before_link
and after_link
for rule and targetadd_rules("lex", "yacc")
rules to support lex/yacc projectsadd_cugencodes()
api to improve set codegen for cudaxmake update github:xmake-io/xmake#dev
xmake update --scriptonly dev
widgetapp_qt
, quickapp_qt_static
and widgetapp_qt_static
--cu-cxx
config arguments to nvcc/-ccbin
--ndk_stdcxx=y
and --ndk_cxxstl=gnustl_static
argument options for android NDKtarget:on_xxx
scripts to support to match android|armv7-a@macosx,linux|x86_64
patternstring.serialize
and string.deserialize
to serialize and deserialize object, function and others.xmake g --menu
target:installdir()
and set_installdir()
api for targetadd_platformdirs
api, we can define custom platformsadd_installfiles
api to targetadd_requires
and find_package
to integrate the 3rd package managerfind_packages("pcre2", "zlib")
to find multiple packagesxmake project
pluginprivate, public, interface
to improve dependency inheritance like cmakepackage()
add_headerfiles
to improve to set header files and directoriesincludes()
, e.g. check_cfuncs
xmake update dev
on windowsxmake f/g --mingw=xxx
configuration option and improve to find_mingwoption.add_features
, option.add_cxxsnippets
and option.add_csnippets
add_option_xxx
lib.detect.find_package
lib.detect.find_package
and add builtin find_packages("zlib 1.x", "openssl", {xxx = ...})
apiset_modes()
as deprecated, we use add_rules("mode.debug", "mode.release")
instead of ittarget:set
, target:add
and add target:del
to modify target configurationqt_add_static_plugins()
api to support static Qt sdkset_optimize()
to set optimization flags when exists add_rules("mode.release")
option.add_includedirs
for cudaxmake plugin --help
add_syslinks
api to add system libraries dependencexmake l time xmake [--rebuild]
to record compilation timexmake f --vs_sdkver=10.0.15063.0
to change windows sdk versionlib.luajit.ffi
and lib.luajit.jit
extension modules-D
and --diagnosis
instead of --backtrace
add_packages("xxx", {links = {}})
has_config
, get_config
, and is_config
apisset_config
to set the default configuration$xmake --try
to try building project using third-party buildsystemset_enabled(false)
to disable targetadd_requires("tbox ~1.6.1")
add_files()
on windowsdetect.sdks.find_qt
lib.detect.find_package
to support vcpkg$ xmake f --menu
set_tools
and add_tools
apis to change the toolchains for special targetmode.debug
, mode.release
, mode.profile
and mode.check
is_mode
, is_arch
and is_plat
builtin apis in the custom scriptsqt.console
, qt.application
rulesos.files
and os.dirs
apimake clean
for generating makefile plugindel_files()
api to delete files in the files listrule()
, add_rules()
api to implement the custom build rule and improve add_files("src/*.md", {rule = "markdown"})
os.filesize()
apicore.ui.xxx
cui componentsxmake f --menu
to configure project with a menu configuration interfaceset_values
api to option()
xmake f --cc=gcc@ccmips.exe
add_cxflags
.., force to set flags without auto checking: add_cxflags("-DTEST", {force = true})
add_files
, add force block to force to set flags without auto checking: add_files("src/*.c", {force = {cxflags = "-DTEST"}})
os.nuldev()
for gcc on mingwar.exe
xmake f --cross
erroros.cd
to the windows root path bugXMAKE_LOGFILE
environment variable to dump the output info to file.gitignore
file when creating new projectsset_config_header
to support set_config_header("config", {version = "2.1.8", build = "%Y%m%d%H%M"})
add_imports
to bulk import modules for the target, option and package scriptxmake -y/--yes
to confirm the user input by defaultxmake l package.manager.install xxx
to install software packagexmake macro ..
to run the last commandcprint()
@loader_path
and $ORIGIN
for add_rpathdirs()
set_version("x.x.x", {build = "%Y%m%d%H%M"})
and add build versionCOLORTERM=nocolor
to disable color outputand_bindings
and add_rbindings
apilib.detect.find_program
interface-w|--warning
arguments to enable the warnings outputset_pcxxheader
bugos.tmpdir()
in fakerootos.getenv
charset bug on windowsadd_files
to configure the compile option of the given filestarget.add_deps
and add inherit config, e.g. add_deps("test", {inherit = false})
tbox.pkg
/Zi
instead of /ZI
for msvctarget:add
and option:add
bugadd_csnippet
and add_cxxsnippet
into option
for detecting some compiler features.find_program
, find_file
, find_library
, find_tool
and find_package
module interfaces.net.*
and devel.*
extension modulesval()
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")
has_flags
, features
and has_features
for detect module interfaces.option.on_check
, option.after_check
and option.before_check
apitarget.on_load
apiadd_frameworkdirs
apilib.detect.has_xxx
and lib.detect.find_xxx
apis.add_moduledirs
apiincludes
api instead of add_subdirs
and add_subfiles
compile_commands.json
by run xmake project -k compile_commands
set_pcheader
and set_pcxxheader
to support the precompiled header, support gcc, clang, msvcxmake f -p cross
platform and support the custom platformimport
to load user extension and global modulesxmake lua
to run a single line commandprint
interface to dump table--root
common option to allow run xmake command as rootxxx_script
in xmake.lua
to support pattern match, e.g. on_build("iphoneos|arm*", function (target) end)
*.asm
source files for vs201x project pluginadd_bindings
and add_rbindings
as deprecatedxmake rebuild
speed on windowscore.project.task
to core.base.task
echo
and app2ipa
plugins to xmake-plugins repo.set_config_header("config.h", {prefix = ""})
instead of set_config_h
and set_config_h_prefix
try-catch-finally
get.sh
$(programdir)
and $(xmake)
builtin variablesis_host
api to get current host operating systemxmake lua
to run interactive commands, read-eval-print (REPL)xmake.lua
in add_subdirs
and use independent sub-scope to avoid dirty scope.xmake
directory if be not in projectsudo make install
permission problemos.host
and os.arch
interfacescprint
no color reset eolset_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
error--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
bugcore/tools
(msys toolchains) and uses xmake to compile core sources on windowsxmake/packages
for templates-def:xxx.def
flags failed for msvcxmake.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 run -d program ...
import
interface--sdk=xxx
xmake config --xxx=[y|n|yes|no|true|false]
-j/--jobs
argument for supporting multi-jobsadd_files
api and support to add *.o/obj/a/lib
files for merging static library and object filesset_runscript
api and support custom actionset_installscript
x86_64
package:check_sizeof()
xmake test
,支持等待进程超时add_versionfiles
接口build.always_update_configfiles
策略xmake test
的输出支持network.mode
策略xmake pack
命令去生成 NSIS/zip/tar.gz/rpm/srpm/runself 安装包xmake test
支持run.autobuild
策略开启运行前自动构建xmake g --policies=
xmake -r --shallow target
去改进重建目标,避免重建所有依赖目标xrepo clean
--lsp=clangd
去改进 compile_commands.json 的生成xmake run
处理单个参数不正确问题xmake format
插件plugin.compile_commands.autoupdate
规则gnu-rm.binary
和 gnu-rm.static
规则和测试工程xmake g --insecure-ssl=y
配置选项去禁用 ssl 证书检测package.librarydeps.strict_compatibility
策略严格限制包依赖兼容性xmake watch
插件命令xmake service --pull 'build/**' outputdir
命令去拉取远程构建服务器上的文件{install = false}
支持-fdirectives-only
preprocessor.linemarkers
策略去禁用 linemarkers 去加速 ccache/distccxmake run
支持并行运行目标程序preprocessor.gcc.directives_only
策略xmake f --policies=
配置参数去修改默认策略build.ccache
策略,用于在工程中配置编译缓存--appledev=simulator
去改进 Apple 模拟器目标编译支持add_requires
支持 git command 作为版本add_filegroups
接口为 vs/vsxmake/cmake generator 增加文件组支持xmake update --integrate
命令去整合 shellxrepo install xxx.lua
python.library
规则去构建 pybind 模块,并且支持 soabiremove_files
, remove_headerfiles
并且标记 del_files
作为废弃接口xmake g --proxy_pac=github_mirror.lua
plugin.vsxmake.autoupdate
规则XMAKE_THEME
环境变量去切换主题配置-f/--force
参数使得 xmake create
可以在费控目录被强制创建utils.glsl2spv
规则去编译 .vert/.frag shader 文件生成 spirv 文件和二进制 C 头文件set_runtimes("microlib")
xmake f --menu
在 vscode 终端下按键无响应,并且支持 ConPTY 终端虚拟按键set_kind("headeronly")
更好的处理 headeronly 库的安装xmake l cli.amalgamate
命令支持代码合并xrepo env
管理和切换指定的环境配置-Gd
选项check_macros
检测接口set_symbols("debug")
支持 clang/windows 生成 pdb 文件set_languages
新增 c++latest
和 clatest
配置值save_scope
和 restore_scope
去修复 check_xxx
相关接口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_requires("apt::zlib1g-dev")
xrepo env shell
并且支持从 add_requires/xmake.lua
加载包环境add_requires/add_deps
添加私有包支持find_package
并且添加 package:find_package
接口在包定义中方便查找包set_config_h
和 set_config_h_prefix
接口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_defines()
中带有双引号和空格导致无法正确处理宏定义的问题add_requires("libcurl 7.73.0", {verify = false})
add_sysincludedirs
,依赖包默认使用-isystem
xmake f --menu
菜单配置,支持鼠标操作xmake project -k cmake
插件增加对 set_languages
的支持edit
和 embed
调试信息格式类型到 set_symbols()
xmake project -k vs
插件depend.on_changed()
去简化依赖文件的处理set_fpmodels()
去抽象化设置math/float-point编译优化模式c11
/c17
支持add_rules("c++.openmp")
add_requires("zlib~xxx")
模式使得能够支持同时安装带有多种配置的同一个包,作为独立包存在xmake g --network=private
配置设置私有网络模式,避免远程依赖包下载访问外网导致编译失败xmake project -k cmake
(当前采用cmake生成)add_files("src/*.c", {rules = {"xx", override = true}})
set_toolchains()
支持交叉编译的时候,特定target可以切换到host工具链同时编译set_policy()
去设置修改一些内置的策略,比如:禁用自动flags检测和映射xmake show
插件去显示xmake内置的各种信息xmake g --theme=ninja
xmake f --menu
可视化配置菜单支持窗口大小Resize调整xmake --dry-run -v
命令去空运行构建,仅仅为了查看详细的构建命令*.c
作为c++代码编译, add_files("*.c", {sourcekind = "cxx"})
。xmake project -k ninja
,增加对build.ninja生成支持xmake project -k xmakefile
生成器~/.xmakerc.lua
配置文件,对所有本地工程生效.core.base.socket
模块,为下一步远程编译和分布式编译做准备。qt.application
拆分成qt.widgetapp
和qt.quickapp
两个构建规则set_toolchain
替代add_tools
和set_tools
,解决老接口使用歧义,提供更加易理解的设置方式xmake create
创建模板工程find_package
支持在macOS上对.tbd系统库文件的查找-jN
风格传参xmake project -k vsxmake
去更好的支持vs工程的生成,内部直接调用xmake来编译xmake --files="src/*.c"
支持指定一批文件进行编译。add_cleanfiles
接口,实现快速定制化清理文件set_runenv
接口去覆盖写入系统envsxmake f --cu=clang
set_rundir()
和add_runenvs()
接口设置on_link
,before_link
和after_link
阶段自定义脚本支持add_rules("lex", "yacc")
规则去支持lex/yacc项目add_cugencodes()
api为cuda改进设置codegenxmake update github:xmake-io/xmake#dev
xmake update --scriptonly dev
widgetapp_qt
, quickapp_qt_static
and widgetapp_qt_static
--cu-cxx
配置参数到nvcc/-ccbin
--ndk_stdcxx=y
和--ndk_cxxstl=gnustl_static
参数选项target:on_xxx
自定义脚本,去支持匹配android|armv7-a@macosx,linux|x86_64
模式string.serialize
和string.deserialize
去序列化,反序列化对象,函数以及其他类型xmake g --menu
去图形化配置全局选项target:installdir()
和set_installdir()
接口add_platformdirs
接口,用户现在可以自定义扩展编译平台add_installfiles
接口到target去自定义安装文件add_requires
和find_package
使其支持对第三方包管理的集成支持find_packages("pcre2", "zlib")
去同时查找多个依赖包,不需要通过import导入即可直接调用add_configfiles
和set_configvar
xmake project
插件,新增CMakelist.txt生成支持private, public, interface
属性设置去继承target配置add_configs()
添加和传递用户自定义配置到package()
add_headerfiles
接口去改进头文件的设置includes()
添加一些内置的辅助函数,例如:check_cfuncs
xmake update dev
xmake f/g --mingw=xxx
配置选线,并且改进find_mingw检测option.add_features
, option.add_cxxsnippets
和 option.add_csnippets
add_option_xxx
lib.detect.find_package
增加对conan包管理器的支持lib.detect.find_package
并且添加内建的find_packages("zlib 1.x", "openssl", {xxx = ...})
接口set_modes()
作为废弃接口, 我们使用add_rules("mode.debug", "mode.release")
来替代它target:set
, target:add
并且添加target:del
去动态修改target配置qt_add_static_plugins()
接口去支持静态Qt sdkset_optimize()
设置优化选项,如果存在add_rules("mode.release")
的情况下option.add_includedirs
对cuda编译不生效xmake plugin --help
add_syslinks
接口去设置系统库依赖,分离与add_links
添加的库依赖之间的链接顺序xmake l time xmake [--rebuild]
去记录编译耗时xmake f --vs_sdkver=10.0.15063.0
去改变windows sdk版本lib.luajit.ffi
和lib.luajit.jit
扩展模块-D
和--diagnosis
去替换--backtrace
,改进诊断信息显示add_packages("xxx", {links = {}})
has_config
, get_config
和is_config
接口去快速判断option和配置值set_config
接口去设置默认配置$xmake --try
去尝试构建工程set_enabled(false)
去显示的禁用targetadd_requires("tbox ~1.6.1")
add_files()
在windows上支持大小写不敏感路径模式匹配detect.sdks.find_qt
对于Qt根目录的探测lib.detect.find_package
支持vcpkg$ xmake f --menu
中Exit问题以及cpu过高问题set_tools
和add_tools
接口为指定target目标设置编译工具链mode.debug
, mode.release
, mode.profile
和mode.check
is_mode
, is_arch
和is_plat
内置接口到自定义脚本域qt.console
, qt.application
等规则rule()
os.files
和os.dirs
接口,加速文件模式匹配make clean
add_ldflags("xx", "xx", {force = true})
强制设置多个flags的问题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"}})
os.nuldev()
在mingw上传入gcc时出现问题xmake f --cross
无法配置问题os.cd
到windows根路径问题XMAKE_LOGFILE
环境变量,启用输出到日志文件.gitignore
文件,忽略一些xmake的临时文件和目录set_config_header
接口,支持局部版本号设置,优先于全局set_version
,例如:set_config_header("config", {version = "2.1.8", build = "%Y%m%d%H%M"})
add_imports
去为target,option和package的自定义脚本批量导入模块,简化自定义脚本xmake -y/--yes
去确认用户输入xmake l package.manager.install xxx
模块,进行跨平台一致性安装软件包xmake macro ..
快速运行最近一次命令cprint()
,支持24位真彩色输出add_rpathdirs()
增加对@loader_path
和$ORIGIN
的内置变量支持,提供可迁移动态库加载set_version("x.x.x", {build = "%Y%m%d%H%M"})
支持buildversion设置COLORTERM=nocolor
环境变量开关,禁用彩色输出add_rbindings
和add_bindings
接口lib.detect.find_program
模块接口-w|--warning
参数来启用实时警告输出set_pcxxheader
编译没有继承flags配置问题os.tmpdir()
在fakeroot下的冲突问题os.getenv
在windows上的中文编码问题add_files
,支持对files粒度进行编译选项的各种配置,更加灵活。target.add_deps
接口,添加继承配置,允许手动禁止依赖继承,例如:add_deps("test", {inherit = false})
tbox.pkg
二进制依赖,直接集成tbox源码进行编译target:add
和option:add
问题/ZI
的兼容性问题,用/Zi
替代add_csnippet
,add_cxxsnippet
到option
来检测一些编译器特性find_program
, find_file
, find_library
, find_tool
和find_package
等模块接口net.*
和devel.*
扩展模块val()
接口去获取内置变量,例如:val("host")
, val("env PATH")
, val("shell echo hello")
and val("reg HKEY_LOCAL_MACHINE\\XX;Value")
has_flags
, features
和has_features
等探测模块接口option.on_check
, option.after_check
和 option.before_check
接口target.on_load
接口add_frameworkdirs
接口lib.detect.has_xxx
和lib.detect.find_xxx
接口add_moduledirs
接口在工程中定义和加载扩展模块includes
接口替换add_subdirs
和add_subfiles
xmake project -k compile_commands
来导出compile_commands.json
set_pcheader
和set_pcxxheader
去支持跨编译器预编译头文件,支持gcc
, clang
和msvc
xmake f -p cross
平台用于交叉编译,并且支持自定义平台名includes
和 links
import
接口,去加载用户扩展模块xmake lua
,支持运行单行命令和模块print
接口去更好些显示table数据--root
通用选项去临时支持作为root运行xxx_script
工程描述api,支持多平台模式选择, 例如:on_build("iphoneos|arm*", function (target) end)
*.asm
文件的支持add_bindings
和add_rbindings
为废弃接口xmake rebuild
在windows上的构建速度core.project.task
模块迁移至core.base.task
echo
和 app2ipa
插件迁移到 xmake-plugins 仓库set_config_header("config.h", {prefix = ""})
代替 set_config_h
和 set_config_h_prefix
try-catch-finally
get.sh
的路径问题import()
导入接口的缓存问题add_subdirs
中的子xmake.lua
中,使用独立子作用域,避免作用域污染导致的干扰问题xmake --help
输出.xmake
目录,如果不在工程中的时候sudo make install
命令权限问题os.host
, os.arch
等接口cprint
色彩打印中断问题set_default
接口用于修改默认的构建所有targets行为xmake
命令进行构建,xmake会自动检测所在的工程根目录add_rpathdirs
api到target和option,支持动态库的自动加载运行xmake install
and xmake uninstall
任务,更友好的处理root安装问题rpm
, deb
和osxpkg
安装包xmake.lua
时,添加更友好的用户提示,避免用户无操作armv8-a
架构失败问题yaourt
包管理器进行安装。--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
返回数据不对问题core/tools
目录以及msys工具链,在windows上使用xmake自编译core源码进行安装,优化xmake源码磁盘空间xmake/packages
,默认模板安装不再内置二进制packages,暂时需要手动放置,以后再做成自动包依赖下载编译-def:xxx.def
xmake.lua
中添加原生shell支持,例如:add_ldflags("$(shell pkg-config --libs sqlite3)")
getenv
接口到xmake.lua
的全局作用域中set_default
接口*.cxx
编译失败问题xmake run -d program ...
windows/linux/macosx
等大部分pc平台import
根目录错误问题add_files("*.a")
,修复一些bug--sdk=xxx
参数实现更加方便智能的进行交叉编译配置,简化mingw平台的编译配置xmake config --xxx=[y|n|yes|no|true|false]
等开关值add_files
接口,支持直接添加*.o/obj/a/lib
文件,并且支持静态库的合并此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。