xmake

🔥 A cross-platform build utility based on Lua

APACHE-2.0 License

Stars
9.6K
Committers
200

Bot releases are hidden (Show)

xmake - xmake v2.9.5 Latest Release

Published by waruqi about 1 month ago

New features

  • #5462: Add xmake l cli.bisect
  • #5488: Support for using cosmocc to build xmake binary
  • #5491: Provide single xmake binary with embedded lua files
  • #5580: Add @builtin/xrepo to add envs for xrepo env shell

Changes

  • #5507: Use treeless to improve git.clone
  • #5536: Add jar generate in swig mode
  • #5573: Improve vsxmake generator performance
  • #5601: Improve utils.symbols.export_all rule to filter sourcefile path

Bugs fixed

  • #4750: Fix compile_commands generator for xmake tests
  • #5465: Fix lock package requires
  • #4760: Fix distcc client issue

新特性

  • #5462: 添加 xmake l cli.bisect
  • #5488: 支持使用 cosmocc 去构建 xmake 自身二进制
  • #5491: 支持提供内嵌 lua 文件的单个 xmake 二进制文件
  • #5580: 添加 @builtin/xrepo 辅助模块,为 xrepo env shell 实现快速设置环境变量

改进

  • #5507: 改进 git clone 下载速度
  • #5536: 在 swig 模式中添加 jar 生成支持
  • #5573: 改进 vsxmake generator 性能
  • #5601: 改进 utils.symbols.export_all 规则去过滤源文件路径

Bugs 修复

  • #4750: 修复 compile_commands 生成器,支持 xmake tests
  • #5465: 修复 package requires lock
  • #4760: 修复 distcc 分布式编译问题

What's Changed

New Contributors

Full Changelog: https://github.com/xmake-io/xmake/compare/v2.9.4...v2.9.5

xmake - xmake v2.9.4

Published by waruqi 3 months ago

New features

  • #5278: Add build.intermediate_directory policy to disable and custom intermediate directory
  • #5313: Add windows arm/arm64ec support
  • #5296: Add Intel LLVM Fortran Compiler support
  • #5384: Add add_bindirs for package

Changes

  • #5280: Add missing C++20 Modules file extension
  • #5251: Update 7z/curl for windows installer
  • #5286: Improve json to parse hex string
  • #5302: Improve Vala support
  • #5335: Improve xmake install and xpack, Add set_prefixdir api for target
  • #5387: Improve xmake test
  • #5376: Improve module objectfiles handling and moduleonly package

Bugs Fixed

  • #5288: Fix xmake test for unity build
  • #5270: Fix pch/include for gcc/clang
  • #5276: Fix find vc6
  • #5259: Fix the failure of the command line completion function

新特性

  • #5278: 添加 build.intermediate_directory 策略去禁用中间目录生成
  • #5313: 添加 windows arm/arm64ec 支持
  • #5296: 添加 Intel LLVM Fortran 编译器支持
  • #5384: 为包添加 add_bindirs 配置支持

改进

  • #5280: 添加缺失的 C++20 Modules 文件扩展
  • #5251: 为 windows installer 更新内置的 7z/curl
  • #5286: 改进 json 支持16进制解析
  • #5302: 改进 Vala 支持
  • #5335: 改进 xmake installxpack,添加 set_prefixdir 接口
  • #5387: 改进 xmake test
  • #5376: 改进 C++ module 对象列表处理和 moduleonly 包支持

Bugs 修复

  • #5288: 修复 xmake test 对 Unity Build 的支持
  • #5270: 修复 gcc/clang 对 pch 的支持
  • #5276: 修复查找 vc6 环境
  • #5259: 修复命令补全失效问题

What's Changed

New Contributors

Full Changelog: https://github.com/xmake-io/xmake/compare/v2.9.3...v2.9.4

xmake - xmake v2.9.3

Published by waruqi 4 months ago

New features

  • #4637: Add mix generator for xpack
  • #5107: Add deb generator for xpack
  • #5148: Add on_source in package

Changes

  • #5156: Improve to install cargo packages for rust

Bugs fixed

  • #5176: Fix VS toolset v144

新特性

  • #4637: 为 xpack 添加 mix 支持
  • #5107: 为 xpack 添加 deb 支持
  • #5148: 为包添加 on_source 配置域

改进

  • #5156: 改进安装 cargo 包

问题修复

  • #5176: 修复 VS toolset v144 支持

What's Changed

New Contributors

Full Changelog: https://github.com/xmake-io/xmake/compare/v2.9.2...v2.9.3

xmake - xmake v2.9.2

Published by waruqi 5 months ago

New features

  • #5005: Show all apis
  • #5003: Add build.fence policy
  • #5060: Support Verilator target build to static library
  • #5074: Add xrepo download command to download package source
  • #5086: Add check support for package
  • #5103: Add qt ts files building
  • #5104: Call where in find_program

Changes

  • #5077: Use x64 host compiler for msvc when building x86 target
  • #5109: Support runpath/rpath for add_rpathdirs
  • #5132: Improve ifort/icc/icx support on windows

Bugs Fixed

  • #5059: Fix load huge targets stuck
  • #5029: Fix crash on termux

新特性

  • #5005: 显示所有 API
  • #5003: 添加 build.fence 策略
  • #5060: 支持 Verilator 静态库目标构建
  • #5074: 添加 xrepo download 命令去快速下载包源码
  • #5086: 添加包检测支持
  • #5103: 添加 qt ts 构建支持
  • #5104: 改进 find_program,在 windows 上调用 where 改进查找

改进

  • #5077: 当构建 x86 目标时,使用 x64 的 msvc 编译工具
  • #5109: 改进 add_rpathdirs 支持 runpath/rpath 切换
  • #5132: 改进 ifort/icc/icx 在 windows 上的支持

Bugs 修复

  • #5059: 修复加载大量 targets 时候卡住
  • #5029: 修复在 termux 上崩溃问题

What's Changed

New Contributors

Full Changelog: https://github.com/xmake-io/xmake/compare/v2.9.1...v2.9.2

xmake - xmake v2.9.1

Published by waruqi 6 months ago

New features

  • #4874: Add Harmony SDK support
  • #4889: Add signal module to register signal handler in lua
  • #4925: Add native modules support
  • #4938: Support for cppfront/h2

Changes

  • Improve packages to support for clang-cl
  • #4893: Improve rc includes deps
  • #4928: Improve to build and link speed
  • #4931: Update pdcurses
  • #4973: Improve to select script

Bugs fixed

  • #4882: Fix install deps with --group
  • #4877: Fix compile error for xpack with unity build
  • #4887: Fix object deps

新特性

  • #4874: 添加鸿蒙 SDK 支持
  • #4889: 添加 signal 模块 去注册信号处理
  • #4925: 添加 native 模块支持
  • #4938: 增加对 cppfront/h2 的支持

改进

  • 改进包管理,支持切换 clang-cl
  • #4893: 改进 rc 头文件依赖检测
  • #4928: 改进构建和链接速度,增量编译时候效果更加明显
  • #4931: 更新 pdcurses
  • #4973: 改进选择脚本的匹配模式

Bugs 修复

  • #4882: 修复安装组依赖问题
  • #4877: 修复 xpack 打包时,unit build 编译失败问题
  • #4887: 修复 object 依赖链接

What's Changed

New Contributors

Full Changelog: https://github.com/xmake-io/xmake/compare/v2.8.9...v2.9.1

xmake - xmake v2.8.9

Published by waruqi 7 months ago

New features

  • #4843: Endianness/Byte-order detection on build machine

Changes

  • #4798: Improve wasi sdk detect
  • #4772: Improve tools.cmake to support vs2022 preview (v144)
  • #4813: Add gb2312 encoding
  • #4864: Improve to extract symbols for gdb
  • #4831: Allow target:fileconfig() for headerfiles
  • #4846: Improve to show progress

Bugs Fixed

  • Fix select_script match pattern
  • #4763: Fix {force = true}
  • #4807: Fix nimble::find_package
  • #4857: Fix parse basic options

新特性

  • #4843: 添加 check_bigendian 接口实现大小端探测

改进

  • #4798: 改进 wasi sdk 检测
  • #4772: 改进 tools.cmake 去兼容支持 vs2022 preview (v144)
  • #4813: 添加 gb2312 编码
  • #4864: 改进抽取符号,支持 gdb 断点调试
  • #4831: 改进 target:fileconfig() 支持 headerfiles
  • #4846: 改进进度显示,解决顺序错乱问题

Bugs 修复

  • 修复 select_script 的脚本模式匹配
  • #4763: 修复 {force = true}
  • #4807: 修复 nimble::find_package
  • #4857: 修复对 -P/-F 等基础选项的解析
xmake - xmake v2.8.8

Published by waruqi 8 months ago

Changes

  • Add package:check_sizeof()

Bugs Fixed

  • #4774: Fix android symbol strip
  • #4769: Fix cross toolchain and format
  • #4776: Fix soname for linux
  • #4638: Fix vsxmake with --menu config

改进

  • 添加 package:check_sizeof()

Bugs 修复

  • #4774: 修复 Android NDK r26b 上的 strip 支持
  • #4769: 修复交叉编译工具链问题
  • #4776: 修复 soname
  • #4638: 修复 vsxmake generator
xmake - xmake v2.8.7

Published by waruqi 8 months ago

New features

  • #4544: Support to wait process timeout for xmake test
  • #4606: Add add_versionfiles api in package
  • #4709: Add cosmocc toolchain support
  • #4715: Add is_cross() api in description scope
  • #4747: Add build.always_update_configfiles policy

Changes

  • #4575: Check invalid scope name
  • Add more loong64 support
  • Improve dlang/dmd support for frameworks
  • #4571: Improve xmake test output
  • #4609: Improve to detect vs build tool envirnoments
  • #4614: Support android ndk 26b
  • #4473: Enable warning output by default
  • #4477: Improve runtimes to support libc++/libstdc++
  • #4657: Improve to select script pattern
  • #4673: Refactor modules support @Arthapz
  • #4746: Add native modules support for cmake generator

Bugs Fixed

  • #4596: Fix remote build cache
  • #4689: Fix deps inherit

新特性

  • #4544: 改进 xmake test,支持等待进程超时
  • #4606: 为 package 添加 add_versionfiles 接口
  • #4709: 添加 cosmocc 工具链支持
  • #4715: 在描述域添加 is_cross() 接口
  • #4747: 添加 build.always_update_configfiles 策略

改进

  • #4575: 检测无效的域参数
  • 添加更多的 loong64 支持
  • 改进 dlang/dmd 对 frameworks 的支持
  • #4571: 改进 xmake test 的输出支持
  • #4609: 改进探测 vs 构建工具环境
  • #4614: 改进支持 android ndk 26b
  • #4473: 默认启用警告输出
  • #4477: 改进 runtimes 去支持 libc++/libstdc++
  • #4657: 改进脚本的模式匹配
  • #4673: 重构模块支持
  • #4746: 为 cmake generator 添加原生 c++ modules 支持

Bugs 修复

  • #4596: 修复远程构建缓存
  • #4689: 修复目标依赖继承

Full Changelog: https://github.com/xmake-io/xmake/compare/v2.8.6...v2.8.7

xmake - xmake v2.8.6

Published by waruqi 10 months ago

New features

  • Add network.mode policy
  • #1433: Add xmake pack command to generate NSIS/zip/tar.gz/rpm/srpm/runself packages like cmake/cpack
  • #4435: Support batchsize for UnityBuild in Group Mode
  • #4485: Support package.install_locally
  • Support NetBSD

Changes

  • #4484: Improve swig rule
  • Improve Haiku support

Bugs fixed

  • #4372: Fix protobuf rules
  • #4439: Fix asn1c rules

新特性

  • 添加 network.mode 策略
  • #1433: 添加 xmake pack 命令去生成 NSIS/zip/tar.gz/rpm/srpm/runself 安装包
  • #4435: 为 UnityBuild 的组模式增加 batchsize 支持
  • #4485: 新增 package.install_locally 策略支持
  • 新增 NetBSD 支持

Changes

  • #4484: 改进 swig 规则
  • 改进 Haiku 支持

Bugs 修复

  • #4372: 修复 protobuf 规则
  • #4439: 修复 asn1c 规则
xmake - xmake v2.8.5

Published by waruqi 12 months ago

New features

  • #1452: Improve link mechanism and order
  • #1438: Support code amalgamation
  • #3381: Add xmake test support
  • #4276: Support custom scope api
  • #4286: Add Apple XROS support
  • #4345: Support check sizeof
  • #4369: Add windows.manifest.uac policy

Changes

  • #4284: Improve builtin includes

Bugs fixed

  • #4256: Fix intellisense for vsxmake/c++modules

新特性

  • #1452: 支持链接顺序调整,链接组
  • #1438: 支持代码 amalgamation
  • #3381: 添加 xmake test 支持
  • #4276: 支持自定义域 API
  • #4286: 添加 Apple XROS 支持
  • #4345: 支持检测类型大小 sizeof
  • #4369: 添加 windows.manifest.uac 策略

改进

  • #4284: 改进内置 includes 模块

Bugs 修复

  • #4256: 为 vsxmake 生成器修复 c++ modules intellisense
xmake - xmake v2.8.3

Published by waruqi about 1 year ago

New features

  • #4122: Support Lua Debugger (EmmyLua)
  • #4132: Support cppfront
  • #4147: Add hlsl2spv rule
  • #4226: Support sanitizers for package and policy
  • Add lib.lua.package module
  • Add run.autobuild policy
  • Add global policies xmake g --policies=

Changes

  • #4119: Improve to support emcc toolchain and emscripten package
  • #4154: Add xmake -r --shallow target to rebuild target without deps
  • Add global ccache storage directory
  • #4137: Support Qt6 for Wasm
  • #4173: Add recheck argument to on_config
  • #4200: Improve remote build to support debugging xmake source code.
  • #4209: Add extra and pedantic warnings

Bugs fixed

  • #4110: Fix extrafiles
  • #4115: Fix compile_commands generator for clangd
  • #4199: Fix compile_commands generator for c++ modules
  • Fix os.mv fail on window
  • #4214: Fix rust workspace build error

新特性

  • #4122: 支持 Lua 调试 (EmmyLua)
  • #4132: 支持 cppfront
  • #4147: 添加 hlsl2spv 规则
  • 添加 lib.lua.package 模块
  • #4226: 新增 asan 相关策略和对包的支持
  • 添加 run.autobuild 策略开启运行前自动构建
  • 添加全局策略 xmake g --policies=

改进

  • #4119: 改进支持 emcc 工具链和 emscripten 包的整合
  • #4154: 添加 xmake -r --shallow target 去改进重建目标,避免重建所有依赖目标
  • 添加全局 ccache 存储目录
  • #4137: 改进 Qt,支持 Qt6 for Wasm
  • #4173: 添加 recheck 参数到 on_config
  • #4200: 改进远程构建,支持调试本地 xmake 源码
  • #4209: 添加 extra 和 pedantic 警告

Bugs 修复

  • #4110: 修复 extrafiles
  • #4115: 修复 compile_commands 生成器
  • #4199: 修复 compile_commands 生成器对 c++ modules 的支持
  • 修复 os.mv 在 windows 上跨驱动盘失败问题
  • #4214: 修复 rust workspace 构建问题
xmake - xmake v2.8.2

Published by waruqi about 1 year ago

New features

  • #4002: Add soname and version support
  • #1613: Add avx512 and sse4.2 for add_vectorexts
  • #2471: Add set_encodings to set source/target encodings
  • #4071: Support the stm8 assembler on the sdcc toolchain.
  • #4101: Add force includes for c/c++
  • #2384: Add extrafiles for vs/vsxmake generator

Changes

  • #3960: Improve msys2/crt64 support
  • #4032: Remove some old deprecated apis
  • Improve to upgrade vcproj files in tools.msbuild
  • Support add_requires("xmake::xxx") package
  • #4049: Improve rust to support cross-compilation
  • Improve clang modules support

Bugs fixed

  • Fix exit all child processes on macOS/Linux

新特性

  • #4002: 增加 soname 支持
  • #1613: 为 add_vectorexts 增加 avx512 和 sse4.2 支持
  • #2471: 添加 set_encodings API 去设置源文件和目标文件的编码
  • #4071: 支持 sdcc 的 stm8 汇编器
  • #4101: 为 c/c++ 添加 force includes
  • #2384: 为 vs/vsxmake 生成器添加 add_extrafiles 接口

改进

  • #3960: 改进 msys2/crt64 支持
  • #4032: 移除一些非常老的废弃接口
  • 改进 tools.msbuild 升级 vcproj 文件
  • 支持 add_requires("xmake::xxx") 包
  • #4049: 改进 Rust 支持交叉编译
  • 改进 clang 下 c++ modules 支持

Bugs 修复

  • 修复 macOS/Linux 上子子进程无法快速退出问题
xmake - xmake v2.8.1

Published by waruqi over 1 year ago

New features

  • #3821: Add longpath option for windows installer
  • #3828: Add support for zypper package manager
  • #3871: Improve tools.msbuild to support for upgrading vsproj
  • #3148: Support grpc for protobuf
  • #3889: Support to add library path for add_links
  • #3912: Add set_pmxxheader to support objc precompiled header
  • add_links support library file path

Changes

  • #3752: Improve os.getenvs for windows
  • #3371: Improve tools.cmake to support ninja generator for wasm
  • #3777: Improve to find package from pkg-config
  • #3815: Improve tools.xmake to pass toolchains for windows
  • #3857: Improve to generate compile_commands.json
  • #3892: Improve to search packages from description
  • #3916: Improve to build swift program, support for multiple modules
  • Update lua runtime to 5.4.6

Bugs fixed

  • #3755: Fix find_tool from xmake/packages
  • #3787: Fix packages from conan 2.x
  • #3839: Fix vs_runtime for conan 2.x

新特性

  • #3821: windows 安装器添加长路径支持选项
  • #3828: 添加 zypper 包管理器支持
  • #3871: 改进 tools.msbuild 支持对 vsproj 进行自动升级
  • #3148: 改进 protobuf 支持 grpc
  • #3889: add_links 支持库路径添加
  • #3912: 添加 set_pmxxheader 去支持 objc 预编译头
  • add_links 支持库文件路径

改进

  • #3752: 改进 windows 上 os.getenvs 的获取
  • #3371: 改进 tools.cmake 支持使用 ninja 去构建 wasm 包
  • #3777: 改进从 pkg-config 中查找包
  • #3815: 改进 tools.xmake 支持为 windows 平台传递工具链
  • #3857: 改进生成 compile_commands.json
  • #3892: 改进包搜索,支持从描述中找包
  • #3916: 改进构建 swift 程序,支持模块间符号调用
  • 更新 lua 运行时到 5.4.6

Bugs 修复

  • #3755: 修复 find_tool 从 xmake/packages 中查找程序
  • #3787: 修复从 conan 2.x 中使用包
  • #3839: 修复 conan 2.x 包的 vs_runtime 设置
xmake - xmake v2.7.9

Published by waruqi over 1 year ago

New features

  • #3613: Add wasm.preloadfiles configuration for wasm
  • #3703: Support for conan >=2.0.5

Changes

  • #3669: Improve cmake generator to support add_cxflags with the given tool
  • #3679: Improve xrepo clean
  • #3662: Improve cmake/make generator for lex/yacc project
  • #3697: Improve trybuild/cmake
  • #3730: Improve c++modules package installation

Bugs fixed

  • #3596: Fix check_cxxfuncs and check_cxxsnippets
  • #3603: Fix xmake update
  • #3614: Fix qt envirnoment when running target
  • #3628: Fix msys2/mingw setenv and os.exec issue
  • Fix setenv for msys/mingw

新特性

  • #3613: 添加 wasm.preloadfiles 扩展配置
  • #3703: 支持 conan >=2.0.5

改进

  • #3669: 改进 cmake 生成器支持特定工具的 cxflags
  • #3679: 改进 xrepo clean
  • #3662: 改进 cmake/make 生成器去更好的支持 lex/yacc 工程
  • #3697: 改进 trybuild/cmake
  • #3730: 改进 c++modules 包安装,解决不同目录同名文件分发冲突问题

Bugs 修复

  • #3596: 修复 check_cxxfuncs 和 check_cxxsnippets
  • #3603: 修复 xmake update 的无效 url
  • #3614: 修复 xmake run 对 Qt 环境的加载
  • #3628: 修复 msys2/mingw 下 os.exec 总是优先查找错误的可执行程序
  • 修复 msys/mingw 下环境变量设置问题
xmake - xmake v2.7.8

Published by waruqi over 1 year ago

New features

  • #3518: Profile compile and link performance
  • #3522: Add has_cflags, has_xxx for target
  • #3537: Add --fix for clang.tidy checker

Changes

  • #3433: Improve to build Qt project on msys2/mingw64 and wasm
  • #3419: Support fish shell envirnoment
  • #3455: Dlang incremental build support
  • #3498: Improve to bind package virtual envirnoments
  • #3504: Add swig java support
  • #3508: Improve trybuild/cmake to support for switching toolchain
  • disable build cache for msvc, because msvc's preprocessor is too slow.

Bugs fixed

  • #3436: Fix complete and menuconf
  • #3463: Fix c++modules cache issue
  • #3545: Fix parsedeps for armcc

新特性

  • #3518: 分析编译和链接性能
  • #3522: 为 target 添加 has_cflags, has_xxx 等辅助接口
  • #3537: 为 clang.tidy 检测器添加 --fix 自动修复

改进

  • #3433: 改进 QT 在 msys2/mingw64 和 wasm 上的构建支持
  • #3419: 支持 fish shell 环境
  • #3455: Dlang 增量编译支持
  • #3498: 改进绑定包虚拟环境
  • #3504: 添加 swig java 支持
  • #3508: 改进 trybuild/cmake 去支持工具链切换
  • 为 msvc 禁用 build cache 加速,因为 msvc 的预处理器太慢,反而极大影响构建性能。

Bugs 修复

  • #3436: 修复自动补全和 menuconf
  • #3463: 修复 c++modules 缓存问题
  • #3545: 修复 armcc 的头文件依赖解析
xmake - xmake v2.7.7

Published by waruqi over 1 year ago

New features

  • Add Haiku support
  • #3326: Add xmake check to check project code (clang-tidy) and configuration
  • #3332: add custom http headers when downloading packages

Changes

  • #3318: Improve dlang toolchains
  • #2591: Improve target analysis
  • #3342: Improve to configure working and build directories
  • #3373: Improve std modules support for clang-17
  • Improve to strip/optimization for dmd/ldc2

Bugs fixed

  • #3317: Fix languages for qt project.
  • #3321: Fix dependfile when generating configiles
  • #3296: Fix build error on macOS arm64

新特性

  • 添加 Haiku 支持
  • #3326: 添加 xmake check 去检测工程代码 (clang-tidy) 和 API 参数配置
  • #3332: 在包中配置添加自定义 http headers

改进

  • #3318: 改进 dlang 工具链
  • #2591: 改进 target 配置来源分析
  • 为 dmd/ldc2 改进 strip/optimization
  • #3342: 改进配置构建目录,支持外置目录构建,保持远吗目录更加干净
  • #3373: 为 clang-17 改进 std 模块支持

Bugs 修复

  • #3317: 针对 Qt 工程,修复 lanuages 设置
  • #3321: 修复隔天 configfiles 重新生成导致重编问题
  • #3296: 修复 macOS arm64 上构建失败

xmake - xmake v2.7.6

Published by waruqi over 1 year ago

New features

  • #3228: Add support of importing modules from packages
  • #3257: Add support for iverilog and verilator
  • Support for xp and vc6.0
  • #3214: Completion on xrepo install packages

Changes

  • #3255: Improve clang libc++ module support
  • Support for compiling xmake using mingw
  • Improve compatibility issues with xmake running on win xp
  • Add pure lua json implementation instead of lua-cjson if the external dependencies are enabled

Bugs fixed

  • #3229: Fix find rc.exe for vs2015
  • #3271: Fix macro defines with spaces
  • #3273: Fix nim link error
  • #3286: Fix compile_commands for clangd

新特性

  • #3228: C++ modules 的安装发布,以及从包中导入 C++ modules 支持
  • #3257: 增加对 iverilog 和 verilator 的支持
  • 支持 xp 和 vc6.0
  • #3214: xrepo install 的自动补全支持

改进

  • #3255: 改进 clang libc++ 模块支持
  • 支持使用 mingw 编译 xmake
  • 改进 xmake 在 win xp 上的兼容性
  • 如果外部依赖被启用,切换 json 模块到纯 lua 实现,移除对 lua-cjson 的依赖

Bugs 修复

  • #3229: 修复 vs2015 下找不到 rc.exe 问题
  • #3271: 修复支持带有空格的宏定义
  • #3273: 修复 nim 链接错误
  • #3286: 修复 compile_commands 对 clangd 的支持
xmake - xmake v2.7.5

Published by waruqi almost 2 years ago

New features

  • #3201: Add completer and xrepo complete
  • #3233: Add MASM32 sdk toolchain

Changes

  • #3216: Add intel one api toolkits detection
  • #3020: Add --lsp=clangd to improve to generate compile_commands.json
  • #3215: Add includedirs and defines to c51
  • #3251: Improve to build zig and c program

Bugs fixed

  • #3203: Fix compile_commands
  • #3222: Fix precompiled headers in ObjC
  • #3240: Fix target run with single arguments
  • #3238: Fix clang module mapper

新特性

  • #3201: 为 xrepo 添加命令自动补全
  • #3233: 添加 MASM32 sdk 工具链

改进

  • #3216: 改进 intel one api toolkits 探测
  • #3020: 添加 --lsp=clangd 去改进 compile_commands.json 的生成
  • #3215: 添加 includedirs 和 defines 到 c51 编译器
  • #3251: 改进 zig and c 混合编译

Bugs 修复

  • #3203: 修复 compile_commands
  • #3222: 修复 objc 的预编译头支持
  • #3240: 修复 xmake run 处理单个参数不正确问题
  • #3238: 修复 clang 构建 module 时候,并行写入 mapper 冲突问题
xmake - xmake v2.7.4

Published by waruqi almost 2 years ago

New features

  • #3049: Add xmake format plugin
  • Add plugin.compile_commands.autoupdate rule
  • #3172: Add xmake.sh
  • #3168: add support of C++23 standard modules on msvc

Changes

  • #3056: Improve zig support
  • #3060: Improve to detect msys2 for clang toolchains envirnoment
  • #3071: Support rc for llvm/clang toolchain
  • #3122: Generate dependencies of preprocessed modules to avoid importing #ifdef import
  • #3125: Compile private C++20 modules
  • #3133: Add support of internal partitions
  • #3146: Add default components for packages
  • #3192: JSON output for auto complete

Bugs fixed

  • Fix requires-lock bug
  • #3065: Fix missing package dependences
  • #3082: Fix build.ninja generator
  • #3092: Fix xrepo add-repo error handing
  • #3013: Fix and support windows UNC path
  • #2902: Fix file not access by another process occupied
  • #3074: Fix CMakelists generator
  • #3141: Fix import order on GCC and force it on clang and msvc #3141
  • Fix tools/xmake package build directory
  • #3159: Fix compile_commands for CLion

新特性

  • #3049: 添加 xmake format 插件
  • 添加 plugin.compile_commands.autoupdate 规则
  • #3172: 添加 xmake.sh
  • #3168: 为 msvc 添加 C++23 标准模块支持

改进

  • #3056: 改进 Zig 支持
  • #3060: 改进支持 msys2 的环境探测
  • #3071: 为 llvm/clang 工具链支持 rc 编译
  • #3122: 改进 c++20 模块依赖图的源码分析,支持预处理
  • #3125: 增加私有 C++20 模块的编译支持
  • #3133: 增加 internal partitions 模块支持
  • #3146: 添加默认包组件支持
  • #3192: 为 auto complete 增加 json 输出支持

Bugs 修复

  • 修复 requires-lock 问题
  • #3065: 修复部分依赖包没有被安装的问题
  • #3082: 修复 build.ninja 生成器
  • #3092: 修复 xrepo add-repo 添加失败逻辑
  • #3013: 修复支持 windows UNC 路径
  • #2902: 修复文件被其他子进程占用问题
  • #3074: 修复 CMakelists 生成器链接参数设置不对问题
  • #3141: 修复 C++ 模块的导入顺序
  • 修复 tools/xmake 包安装构建目录
  • #3159: 为 CLion 修复 compile_commands
xmake - xmake v2.7.3

Published by waruqi almost 2 years ago

New features

  • A new optional configuration syntax. It is LSP friendly, automatically calls target_end() to achieve scope isolation.
  • #2944: Add gnu-rm.binary and gnu-rm.static rules and tests for embed project
  • #2636: Support package components
  • Support armasm/armasm64 for msvc
  • #3023: Add support for debugging with renderdoc
  • #3022: Add flags for specific compilers and linkers
  • #3025: C++ exception enabled/disabled switch method
  • #3017: Support ispc compiler

Changes

  • #2925: Improve doxygen plugin
  • #2948: Support OpenBSD
  • Add xmake g --insecure-ssl=y option to disable ssl certificate when downloading packages
  • #2971: Stabilize vs and vsxmake project generation
  • #3000: Incremental compilation support for modules
  • #3016: Improve clang/msvc to better support std modules

Bugs fixed

  • #2949: Fix vs group
  • #2952: Fix armlink for long args
  • #2954: Fix c++ module partitions path issue
  • #3033: Detect circular modules dependency

新特性

  • 一种新的可选域配置语法,对 LSP 友好,并且支持域隔离。
  • #2944: 为嵌入式工程添加 gnu-rm.binarygnu-rm.static 规则和测试工程
  • #2636: 支持包组件
  • 支持 msvc 的 armasm/armasm64
  • #3023: 改进 xmake run -d,添加 renderdoc 调试器支持
  • #3022: 为特定编译器添加 flags
  • #3025: 新增 C++ 异常接口配置
  • #3017: 支持 ispc 编译器规则

改进

  • #2925: 改进 doxygen 插件
  • #2948: 支持 OpenBSD
  • 添加 xmake g --insecure-ssl=y 配置选项去禁用 ssl 证书检测
  • #2971: 使 vs/vsxmake 工程生成的结果每次保持一致
  • #3000: 改进 C++ 模块构建支持,实现增量编译支持
  • #3016: 改进 clang/msvc 去更好地支持 std 模块

Bugs 修复

  • #2949: 修复 vs 分组
  • #2952: 修复 armlink 处理长命令失败问题
  • #2954: 修复 c++ module partitions 路径无效问题
  • #3033: 探测循环模块依赖