94 Star 649 Fork 124

GVPtboox / xmake

2021-07-30 10:28
85844 waruqi 1578916878 ruki

新特性

  • #1483: 添加 os.joinenvs() 和改进包工具环境
  • #1523: 添加 set_allowedmodes, set_allowedplatsset_allowedarchs
  • #1523: 添加 set_defaultmode, set_defaultplatset_defaultarch

改进

  • 改进 vs/vsxmake 工程插件支持 vs2022
  • #1513: 改进 windows 预编译包的兼容性问题
  • 改进 vcpkg 包在 windows 上的查找
  • 改进对 Qt6 的支持

Bugs 修复

  • #489: 修复 run os.execv 带有过长环境变量值出现的一些问题
最后提交信息为: update spec
2021-07-01 10:49
85844 waruqi 1578916878 ruki

新特性

  • #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 修复

  • #1413: 修复查找包过程中出现的挂起卡死问题
  • #1420: 修复包检测和配置缓存
  • #1445: 修复 WDK 驱动签名错误
  • #1465: 修复缺失的链接目录
最后提交信息为: update spec
2021-04-08 10:03
85844 waruqi 1578916878 ruki

新特性

  • #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 修复

  • #1266: 修复在 add_repositories 中的 repo 相对路径
  • #1288: 修复 vsxmake 插件处理 option 配置问题
最后提交信息为: update version for spec
2021-03-01 10:22
85844 waruqi 1578916878 ruki

新特性

  • #955: 支持 zig cczig 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 and add_defines_h 接口

Bugs 修复

  • #1219: 修复版本检测和更新
  • #1235: 修复 includes 搜索路径中带有空格编译不过问题
最后提交信息为: update spec
2021-01-22 11:35
85844 waruqi 1578916878 ruki

新特性

  • #1035: 图形配置菜单完整支持鼠标事件,并且新增滚动栏
  • #1098: 支持传递 stdin 到 os.execv 进行输入重定向
  • #1079: 为 vsxmake 插件添加工程自动更新插件,add_rules("plugin.vsxmake.autoupdate")
  • 添加 xmake f --vs_runtime=MTset_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 修复

  • #1091: 修复不正确的继承链接依赖
  • #1105: 修复 vsxmake 插件 c++ 语言标准智能提示错误
  • #1132: 修复 vsxmake 插件中配置路径被截断问题
  • #1142: 修复安装包的时候,出现git找不到问题
  • 修复在 macOS Big Sur 上 macos.version 问题
  • #1084: 修复 add_defines() 中带有双引号和空格导致无法正确处理宏定义的问题
  • #1195: 修复 unicode 编码问题,改进 vs 环境查找和进程执行
最后提交信息为: update changelog
2020-11-26 10:38
85844 waruqi 1578916878 ruki

新特性

  • 添加新的 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 菜单配置,支持鼠标操作

改进

  • #997: xmake project -k cmake 插件增加对 set_languages 的支持
  • #998: 支持安装 windows-static-md 类型的 vcpkg 包
  • #996: 改进 vcpkg 目录查找
  • #1008: 改进交叉编译工具链
  • #1030: 改进 xcode.framework and xcode.application 规则
  • #1051: 为 msvc 编译器添加 editembed 调试信息格式类型到 set_symbols()
  • #1062: 改进 xmake project -k vs 插件

最后提交信息为: fix get tag for ci
2018-02-03 21:15
85844 waruqi 1578916878 ruki

新特性

  • 添加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

最后提交信息为: update version to v2.1.9
2017-04-04 20:05
85844 waruqi 1578916878 ruki

New features

  • Add task api for running custom tasks
  • Add plugin expansion and provide some builtin plugins
  • Add export ide project plugin(.e.g makefile and will support to export other projects for vs, xcode in feature)
  • Add demo plugin for printing 'hello xmake'
  • Add make doxygen documents plugin
  • Add macro script plugin
  • Add more modules for developing plugin
  • Add exception using try/catch and simplify grammar for plugin script
  • Add option bindings
  • Show progress when building

Changes

  • Rewrite interpreter for xmake.lua
  • More strict syntax detection mechanism
  • More strict api scope for xmake.lua
  • Simplify template development
  • Extend platforms, tools, templates and actions fastly
  • Simplify api and support import modules
  • Remove dependence for gnu make/nmake, no longer need makefile
  • Optimize speed for building and faster x4 than v1.0.4
  • Optimize automatic detection
  • Modify some api name, but be compatible with the old version
  • Optimize merging static library
  • Simplify cross compilation using argument --sdk=xxx
  • Simplify boolean option for command line, .e.g xmake config --xxx=[y|n|yes|no|true|false]
  • Merge iphoneos and iphonesimulator platforms
  • Merge watchos and watchsimulator platformss

Bugs fixed

新特性

  • 增加task任务机制,可运行自定义任务脚本
  • 实现plugin扩展机制,可以很方便扩展实现自定义插件,目前已实现的一些内置插件
  • 增加project文件导出插件(目前已支持makefile的生成,后续会支持:vs, xcode等工程的生成)
  • 增加hello xmake插件(插件demo)
  • 增加doxygen文档生成插件
  • 增加自定义宏脚本插件(支持动态宏记录、宏回放、匿名宏、批量导入、导出等功能)
  • 增加更多的类库用于插件化开发
  • 实现异常捕获机制,简化上层调用逻辑
  • 增加多个option进行宏绑定,实现配置一个参数,就可以同时对多个配置进行生效
  • 增加显示全局构建进度

改进

  • 重构整个xmake.lua描述文件的解释器,更加的灵活可扩展
  • 更加严格的语法检测机制
  • 更加严格的作用域管理,实现沙盒引擎,对xmake.lua中脚本进行沙盒化处理,使得xmake.lua更加的安全
  • 简化模板的开发,简单几行描述就可以扩展一个新的自定义工程模板
  • 完全模块化platforms、tools、templates、actions,以及通过自注册机制,只需把自定义的脚本放入对应目录,就可实现快速扩展
  • 针对所有可扩展脚本所需api进行大量简化,并实现大量类库,通过import机制进行导入使用
  • 移除对gnu make/nmake等make工具的依赖,不再需要makefile,实现自己的make算法,
  • 优化构建速度,支持多任务编译(支持vs编译器)(实测:比v1.0.4提升x4倍的构建性能)
  • 优化自动检测机制,更加的稳定和准确
  • 修改部分工程描述api,增强扩展性,减少一些命名歧义(对低版本向下兼容)
  • 优化静态库合并:add_files("*.a"),修复一些bug
  • 优化交叉编译,通过--sdk=xxx参数实现更加方便智能的进行交叉编译配置,简化mingw平台的编译配置
  • 简化命令行配置开关, 支持xmake config --xxx=[y|n|yes|no|true|false]等开关值
  • 合并iphoneos和iphonesimulator平台,以及watchos和watchsimulator平台,通过arch来区分,使得打包更加方便,能够支持一次性打包iphoneos的所有arch到一个包中

Bugs修复

最后提交信息为: fix generate defines bug for config.h
2017-04-04 20:05
85844 waruqi 1578916878 ruki

Changes

  • Change install and uninstall actions
  • Update templates
  • Improve to check function

Bugs fixed

改进

  • 修改安装和卸载的action处理
  • 更新工程模板
  • 增强函数检测

Bugs修复

最后提交信息为: fix configure error after host changed
2017-04-04 20:04
85844 waruqi 1578916878 ruki

New features

  • Add check includes dependence automatically
  • Add print colors
  • Add debugger support, .e.g xmake run -d program ...

Changes

  • Improve the interfaces of run shell
  • Upgrade luajit to v2.0.4
  • Improve to generate makefile plugin
  • Optimizate the multitasking compiling speed

Bugs fixed

  • Fix install directory bug
  • Fix the root directory error for import interface
  • Fix check visual stdio error on windows

新特性

  • 增加头文件依赖自动检测和增量编译,提高编译速度
  • 在终端中进行颜色高亮提示
  • 添加调试器支持,xmake run -d program ...

改进

  • 增强运行shell的系列接口
  • 更新luajit到v2.0.4版本
  • 改进makefile生成插件,移除对xmake的依赖,并且支持windows/linux/macosx等大部分pc平台
  • 优化多任务编译速度,在windows下编译提升较为明显

Bugs修复

  • 修复安装目录错误问题
  • 修复import根目录错误问题
  • 修复在多版本vs同时存在的情况下,检测vs环境失败问题
最后提交信息为: fix lldb and gdb arguments bug
2017-04-04 20:03
85844 waruqi 1578916878 ruki

New features

  • Add --links, --linkdirs and --includedirs configure arguments
  • Add app2ipa plugin
  • Add dictionary syntax style for xmake.lua
  • Provide smart scanning and building mode without xmake.lua
  • Add set_xmakever api for xmake.lua
  • Add add_frameworks api for objc and swift
  • Support multi-languages extension and add golang, dlang and rust language
  • Add optional target_end, option_end, task_end apis for scope
  • Add golang, dlang and rust project templates

Changes

  • Support vs2017 for the project plugin
  • Improve gcc error and warning tips
  • Improve lanuage module
  • Improve print interface, support lua print and format output
  • Automatically scan project files and generate it for building if xmake.lua not exists
  • Modify license to Apache License 2.0
  • Remove some binary tools
  • Remove install.bat script and provide nsis install package
  • Rewrite documents using docute
  • Improve os.run, os.exec, os.cp, os.mv and os.rm interfaces and support wildcard pattern
  • Optimize the output info and add -q|--quiet option
  • Improve makefile generator, uses $(XX) variables for tools and flags

Bugs fixed

新特性

  • 添加--links, --linkdirs and --includedirs 配置参数
  • 添加app2ipa插件
  • xmake.lua工程描述增加dictionay语法风格
  • 提供智能扫描编译模式,在无任何xmake.lua等工程描述文件的情况下,也能直接快速编译
  • xmake.lua工程描述添加set_xmakever接口,更加友好的处理版本兼容性问题
  • objcswift程序添加add_frameworks接口
  • 更加快速方便的多语言扩展支持,增加golang, dlangrust程序构建的支持
  • 添加target_end, option_endtask_end等可选api,用于显示结束描述域,进入根域设置,提高可读性
  • 添加golang, dlangrust工程模板

改进

  • 工程生成插件支持vs2017
  • 改进gcc/clang编译器警告和错误提示
  • 重构代码架构,改进多语言支持,更加方便灵活的扩展语言支持
  • 改进print接口,同时支持原生lua print以及格式化打印
  • 如果xmake.lua不存在,自动扫描工程代码文件,并且生成xmake.lua进行编译
  • 修改license,使用更加宽松的Apache License 2.0
  • 移除一些二进制工具文件
  • 移除install.bat脚本,提供windows nsis安装包支持
  • 使用docute重写文档,提供更加完善的文档支持
  • 增强os.run, os.exec, os.cp, os.mvos.rm 等接口,支持通配符模式匹配和批量文件操作
  • 精简和优化构建输出信息,添加-q|--quiet选项实现静默构建
  • 改进makefile生成插件,抽取编译工具和编译选项到全局变量

Bugs修复

最后提交信息为: modify changelogs
2017-04-04 20:02
85844 waruqi 1578916878 ruki

New features

  • Add aur package script and support to install xmake from yaourt
  • Add set_basename api for target

Changes

  • Support vs2017
  • Support compile rust for android
  • Improve vs201x project plugin and support multi-modes compilation.

Bugs fixed

新特性

  • 添加aur打包脚本,并支持用yaourt包管理器进行安装。
  • 添加set_basename接口,便于定制化修改生成后的目标文件名

改进

  • 支持vs2017编译环境
  • 支持编译android版本的rust程序
  • 增强vs201x工程生成插件,支持同时多模式、架构编译

Bugs修复

最后提交信息为: modify changelog
2017-04-04 20:00
85844 waruqi 1578916878 ruki

New features

  • #65: Add set_default api for target to modify default build and install behavior
  • Allows to run xmake command in project subdirectories, it will find the project root directory automatically
  • Add add_rpathdirs for target and option

Changes

  • #61: Provide safer xmake install and xmake uninstall task with administrator permission
  • Provide rpm, deb and osxpkg install package
  • #63: More safer build and install xmake
  • #61: Check run command as root
  • Improve check toolchains and implement delay checking
  • Add user tips when scanning and generating xmake.lua automatically

Bugs fixed

  • Fix error tips for checking xmake min version
  • #60: Fix self-build for macosx and windows
  • #64: Fix compile android armv8-a error
  • #50: Fix only position independent executables issue for android program

新特性

  • #65: 为target添加set_default接口用于修改默认的构建所有targets行为
  • 允许在工程子目录执行xmake命令进行构建,xmake会自动检测所在的工程根目录
  • 添加add_rpathdirs api到target和option,支持动态库的自动加载运行

改进

  • #61: 提供更加安全的xmake install and xmake uninstall任务,更友好的处理root安装问题
  • 提供rpm, debosxpkg安装包
  • #63: 改进安装脚本,实现更加安全的构建和安装xmake
  • #61: 禁止在root权限下运行xmake命令,增强安全性
  • 改进工具链检测,通过延迟延迟检测提升整体检测效率
  • 当自动扫面生成xmake.lua时,添加更友好的用户提示,避免用户无操作

Bugs修复

  • 修复版本检测的错误提示信息
  • #60: 修复macosx和windows平台的xmake自举编译
  • #64: 修复构建android armv8-a架构失败问题
  • #50: 修复构建android可执行程序,无法运行问题
最后提交信息为: fix io.printf bug
2017-01-24 18:32
85844 waruqi 1578916878 ruki

New features

  • Add native shell support for xmake.lua. .e.g add_ldflags("$(shell pkg-config --libs sqlite3)")
  • Enable pdb symbol files for windows
  • Add debugger support on windows (vsjitdebugger, ollydbg, windbg ... )
  • Add getenv interface for the global scope of xmake.lua
  • Add plugin for generating vstudio project file (vs2002 - vs2015)
  • Add set_default api for option

Changes

  • Improve builtin-variable format
  • Support option for string type

Bugs fixed

  • Fix check ld failed without g++ on linux
  • Fix compile *.cxx files failed

新特性

  • xmake.lua中添加原生shell支持,例如:add_ldflags("$(shell pkg-config --libs sqlite3)")
  • 编译windows目标程序,默认默认启用pdb符号文件
  • 在windows上添加调试器支持(vsjitdebugger, ollydbg, windbg ... )
  • 添加getenv接口到xmake.lua的全局作用域中
  • 添加生成vstudio工程插件(支持:vs2002 - vs2015)
  • 为option添加set_default接口

改进

  • 增强内建变量的处理
  • 支持字符串类型的选项option设置

Bugs修复

  • 修复在linux下检测ld连接器失败,如果没装g++的话
  • 修复*.cxx编译失败问题
2017-01-24 18:29
85844 waruqi 1578916878 ruki

New features

  • Add some interpreter builtin-modules
  • Support ml64 assembler for windows x64

Changes

  • Improve ipairs and pairs interfaces and support filter
  • Add filters for generating vs201x project
  • Remove core/tools (msys toolchains) and uses xmake to compile core sources on windows
  • Remove xmake/packages for templates

Bugs fixed

  • Fix -def:xxx.def flags failed for msvc
  • Fix ml.exe assembler script
  • Fix options linking order bug

新特性

  • 为解释器作用域增加一些内建模块支持
  • 针对windows x64平台,支持ml64汇编器

改进

  • 增强ipairs和pairs接口,支持过滤器模式,简化脚本代码
  • 为vs201x工程生成增加文件filter
  • 移除core/tools目录以及msys工具链,在windows上使用xmake自编译core源码进行安装,优化xmake源码磁盘空间
  • 移除xmake/packages,默认模板安装不再内置二进制packages,暂时需要手动放置,以后再做成自动包依赖下载编译

Bugs修复

  • 修复msvc的编译选项不支持问题:-def:xxx.def
  • 修复ml.exe汇编器脚本
  • 修复选项链接顺序问题
最后提交信息为: modify CHANGELOG.md
Lua
1
https://gitee.com/tboox/xmake.git
git@gitee.com:tboox/xmake.git
tboox
xmake
xmake

搜索帮助

14c37bed 8189591 565d56ea 8189591