New features
Changes
- #6202: Improve rule API and build dependency order
- #5624: Enable auto build when calling xmake run by default
- #5526: Use MD/MDd runtimes for msvc by default
- #5545: Use ninja generator for cmake package by default
- #6355: Support customizing implib path of MinGW/MSVC
- #6373: Improve c++ modules support
- #6376: Improve vsxmake generators for namespaces
- #6209: Add build jobgraph support
- #6361: Rename buildir to builddir
新特性
改进
- #6202: 改进 rule API 和构建顺序支持,提供统一 jobgraph 调度
- #5624:
xmake run
运行默认自动构建 - #5526: msvc 默认切换到 MD/MDd 运行时
- #5545: 构建 cmake 包,默认使用 Ninja 生成器
- #6355: 支持自定义 implib 路径和访问
- #6373: 改进 c++ modules 支持
- #6376: 改进 vsxmake 生成器,支持命名空间
- #6209: 添加 jobgraph 支持
- #6361: 重命名 buildir 到 builddir
What's Changed
- Add build jobgraph support by @waruqi in https://github.com/xmake-io/xmake/pull/6209
- improve
emscripten
detection by includingemcc.py
search by @Doekin in https://github.com/xmake-io/xmake/pull/6304 - package(autoconf): Resolve issue with backslash-separated
CXX
path in MSYS by @Doekin in https://github.com/xmake-io/xmake/pull/6307 - improve extract by @waruqi in https://github.com/xmake-io/xmake/pull/6312
- Improve modules with pch by @waruqi in https://github.com/xmake-io/xmake/pull/6315
- package(autoconf): De-duplicate
LDFLAGS
by @Doekin in https://github.com/xmake-io/xmake/pull/6321 - fix package and headerunit for gcc by @waruqi in https://github.com/xmake-io/xmake/pull/6320
- do windeployqt for qt.shared by @choyy in https://github.com/xmake-io/xmake/pull/6323
- Add support for automatically using windows system proxy by @SineStriker in https://github.com/xmake-io/xmake/pull/6325
- do windeployqt for qt.shared deps, fix windeployqt bindir bug by @choyy in https://github.com/xmake-io/xmake/pull/6326
- (c++ modules support) add a new tests for stdmodules by @Arthapz in https://github.com/xmake-io/xmake/pull/6341
- (c++ modules support) fix stdmodules tests (std modules only export e… by @Arthapz in https://github.com/xmake-io/xmake/pull/6340
- (c++ modules support) disable std module for duplicate detection tests by @Arthapz in https://github.com/xmake-io/xmake/pull/6339
- (c++ modules support) Simplify module support directory tree by @Arthapz in https://github.com/xmake-io/xmake/pull/6338
- (runtimes) runtimes flags should be first to avoid -L/usr/lib make li… by @Arthapz in https://github.com/xmake-io/xmake/pull/6337
- fix detect -fmodule-header for gcc by @waruqi in https://github.com/xmake-io/xmake/pull/6342
- add --config to cmake build install command by @carlcc in https://github.com/xmake-io/xmake/pull/6343
- fix action test for namespace by @hszSoft in https://github.com/xmake-io/xmake/pull/6349
- Improve MIDL support by @lakor64 in https://github.com/xmake-io/xmake/pull/6301
- (C++ modules support) cleanup module rules by @Arthapz in https://github.com/xmake-io/xmake/pull/6347
- Improve Implib by @waruqi in https://github.com/xmake-io/xmake/pull/6355
- Update README_zh.md by @SineStriker in https://github.com/xmake-io/xmake/pull/6357
- (C++ modules support) Update module policies by @Arthapz in https://github.com/xmake-io/xmake/pull/6360
- Rename buildir to builddir by @waruqi in https://github.com/xmake-io/xmake/pull/6361
- (C++ modules support) factorize implementation getter by @Arthapz in https://github.com/xmake-io/xmake/pull/6364
- 更新了package依赖在安装时找不到so文件的问题 by @binLep in https://github.com/xmake-io/xmake/pull/6372
- (runtimes) fix support of macOS homebrew llvm for --runtimes by @Arthapz in https://github.com/xmake-io/xmake/pull/6379
- update asm sourcekinds by @retro98boy in https://github.com/xmake-io/xmake/pull/6387
- (generators) cmake : use a custom target to link prebuilt object files by @PierreEVEN in https://github.com/xmake-io/xmake/pull/6388
- (generators) cmake : fix compiler detection if (Gcc) with a more stan… by @PierreEVEN in https://github.com/xmake-io/xmake/pull/6386
- toolchains/rust: add support for cross-compilation by @SirLynix in https://github.com/xmake-io/xmake/pull/6392
- clang: Add support for cross-compiling from Windows to Linux by @SirLynix in https://github.com/xmake-io/xmake/pull/6391
- (cmake, llvm toolchain) when using --toolchain=llvm on windows, dependencies should be build with it by @Arthapz in https://github.com/xmake-io/xmake/pull/6381
- Improve idl rule by @star-hengxing in https://github.com/xmake-io/xmake/pull/6395
- Add custom git url syntax to plugin --install by @Shiffted in https://github.com/xmake-io/xmake/pull/6397
- (packages) forward buildtype and library kind to underlying buildsystem (cmake, autotools) by @Arthapz in https://github.com/xmake-io/xmake/pull/6396
- Add dlltool toolset for mingw by @star-hengxing in https://github.com/xmake-io/xmake/pull/6408
- Fix vcpkg detect by @Frityet in https://github.com/xmake-io/xmake/pull/6406
- rule protobuf.cpp add custom args, pass through to protoc. Resolves [#6398] by @jiangyanan224 in https://github.com/xmake-io/xmake/pull/6405
- cargo: fix package cross-compilation by @SirLynix in https://github.com/xmake-io/xmake/pull/6402
- Add llvm-dlltool support by @star-hengxing in https://github.com/xmake-io/xmake/pull/6410
- rust/target_triple: handle arm and unknown arch by @SirLynix in https://github.com/xmake-io/xmake/pull/6412
- (cmake, meson) append shared/static libraries flag by default when installing packages by @Arthapz in https://github.com/xmake-io/xmake/pull/6409
- improve cmake configs by @waruqi in https://github.com/xmake-io/xmake/pull/6413
- Make rustc target_triple public by @SirLynix in https://github.com/xmake-io/xmake/pull/6416
- (C++ module support) improve jobgraph support by @Arthapz in https://github.com/xmake-io/xmake/pull/6373
- (rules) add win.subsystem rules by @Arthapz in https://github.com/xmake-io/xmake/pull/6414
- (C++ modules support) fix nil built_artifacts error when an error occur during the module sorting by @Arthapz in https://github.com/xmake-io/xmake/pull/6422
- (C++ modules support) Improve module format output by @Arthapz in https://github.com/xmake-io/xmake/pull/6423
- (C++ modules support) improve std module support for gcc and clang by @Arthapz in https://github.com/xmake-io/xmake/pull/6421
- (platform.windows.subsystem rules) fix startwiths => startswith by @Arthapz in https://github.com/xmake-io/xmake/pull/6426
- Fix xmake failing to find PING.EXE by @SirLynix in https://github.com/xmake-io/xmake/pull/6432
- target_triple: remove cross by @SirLynix in https://github.com/xmake-io/xmake/pull/6431
- fix upper in xmake.lua by @binLep in https://github.com/xmake-io/xmake/pull/6433
- Fix make ninja gen headeronly target by @PierreEVEN in https://github.com/xmake-io/xmake/pull/6429
- (autotools) fix ld override when ld binary is not in the same directo… by @Arthapz in https://github.com/xmake-io/xmake/pull/6425
- (C++ modules support) fix _patch_sourcebatch when target and deps is in the same namespace by @Arthapz in https://github.com/xmake-io/xmake/pull/6435
- (C++ modules support) profile module support by @Arthapz in https://github.com/xmake-io/xmake/pull/6437
- Wrap opt.paths in a table for find tools by @RimuruChan in https://github.com/xmake-io/xmake/pull/6448
- Improve msvc-wine support. by @Redbeanw44602 in https://github.com/xmake-io/xmake/pull/6452
- Fixed cmake generator that was using 'CMAKE_COMPILER_ID' by @PierreEVEN in https://github.com/xmake-io/xmake/pull/6439
- Add rule python.cython by @Freed-Wu in https://github.com/xmake-io/xmake/pull/6061
- package(install): use relative paths in generated .pc files to improve relocatability by @Doekin in https://github.com/xmake-io/xmake/pull/6445
- update: find qt by qt_sdkver option by @binLep in https://github.com/xmake-io/xmake/pull/6457
- (C++ modules support) fix unitybuild, pch and c++ modules objectfiles… by @Arthapz in https://github.com/xmake-io/xmake/pull/6454
- fix includes [#6441] by @waruqi in https://github.com/xmake-io/xmake/pull/6458
- Fix unitybuild with pch/modules by @waruqi in https://github.com/xmake-io/xmake/pull/6446
- fix namespace/packages [#6465] by @waruqi in https://github.com/xmake-io/xmake/pull/6469
- Add
detect.sdks.find_dia_sdk
. by @Redbeanw44602 in https://github.com/xmake-io/xmake/pull/6456 - improve llvm cross-compilation by @waruqi in https://github.com/xmake-io/xmake/pull/6471
- (C++ modules support) Optimize module scanner by @Arthapz in https://github.com/xmake-io/xmake/pull/6450
- fix [#6474] by @waruqi in https://github.com/xmake-io/xmake/pull/6479
- (C++ modules support) fix clang cl module support by @Arthapz in https://github.com/xmake-io/xmake/pull/6477
- fix more versions of the same vstudio in the system. by @xiaobfly in https://github.com/xmake-io/xmake/pull/6490
- fix: rcc search path for qt android by @binLep in https://github.com/xmake-io/xmake/pull/6501
- Improve find_dia_sdk by @star-hengxing in https://github.com/xmake-io/xmake/pull/6496
- fix compile error for i386 and armv7l [#6503] by @Freed-Wu in https://github.com/xmake-io/xmake/pull/6512
- fix: using C++latest to compile the generated code by cppfront by @xihale in https://github.com/xmake-io/xmake/pull/6516
- add [conf] section to conan profile by @hotaery in https://github.com/xmake-io/xmake/pull/6518
- Add generator.vsxmake.root_sln policy by @waruqi in https://github.com/xmake-io/xmake/pull/6520
- switch win2019 to win2025 by @waruqi in https://github.com/xmake-io/xmake/pull/6522
- adds target group filtering to
show targets
by @lonless9 in https://github.com/xmake-io/xmake/pull/6524 - fix(find_qt): gracefully handle unsupported
-qtconf
argument by @Doekin in https://github.com/xmake-io/xmake/pull/6528 - Improve sourcekind for add_files by @waruqi in https://github.com/xmake-io/xmake/pull/6533
- Improve vsxmake generator with namespaces by @waruqi in https://github.com/xmake-io/xmake/pull/6538
- rule(python.module): remove pybind11-specific linking logic now handled by its package by @Doekin in https://github.com/xmake-io/xmake/pull/6541
- rule(c++.modules): fix
get_gcc_version
for MinGW GCC 15 when toolname is 'gxx' by @Doekin in https://github.com/xmake-io/xmake/pull/6542 - Allow repeating spinner chars by @charlesseizilles in https://github.com/xmake-io/xmake/pull/6543
New Contributors
- @choyy made their first contribution in https://github.com/xmake-io/xmake/pull/6323
- @SineStriker made their first contribution in https://github.com/xmake-io/xmake/pull/6325
- @carlcc made their first contribution in https://github.com/xmake-io/xmake/pull/6343
- @hszSoft made their first contribution in https://github.com/xmake-io/xmake/pull/6349
- @lakor64 made their first contribution in https://github.com/xmake-io/xmake/pull/6301
- @binLep made their first contribution in https://github.com/xmake-io/xmake/pull/6372
- @retro98boy made their first contribution in https://github.com/xmake-io/xmake/pull/6387
- @PierreEVEN made their first contribution in https://github.com/xmake-io/xmake/pull/6388
- @Frityet made their first contribution in https://github.com/xmake-io/xmake/pull/6406
- @jiangyanan224 made their first contribution in https://github.com/xmake-io/xmake/pull/6405
- @xihale made their first contribution in https://github.com/xmake-io/xmake/pull/6516
- @hotaery made their first contribution in https://github.com/xmake-io/xmake/pull/6518
- @lonless9 made their first contribution in https://github.com/xmake-io/xmake/pull/6524
Full Changelog: https://github.com/xmake-io/xmake/compare/v2.9.9...v3.0.0