Skip to content

Xmake Blog

Updates, tips & opinions from the Xmake team.

  • Xmake v3.0.5 preview, Multi-row progress, XML module and Swift interop

    by Ruki

    In the new version, we have introduced several major features that significantly enhance the development experience. The highlights include multi-row progress output with theme support for better build visibility, a comprehensive XML module for parsing and encoding XML data, **asynchronous O...

    We have improved the progress output to support multi-row refresh, providing a significantly better visual experience during long-running builds. Instead of updating a single progress line, the build output now displays multiple concurrent build tasks with their individual progress, making it easier...

    The output now shows multiple progress lines for parallel builds with real-time status updates for each compilation task:

  • Xmake v2.9.1 released, Add native lua modules support

    by Ruki

    In the new version, we have added native tool chain support for Hongmeng system and implemented a new native Lua module import support. In addition, we have also made a lot of optimizations to the build speed, and the effect is very obvious.

    We have added native toolchain compilation support for the Hongmeng OS platform:

    $ xmake f -p harmony
    
  • Xmake v2.8.7 released, Add cosmocc toolchain support, build-once run-anywhere

    by Ruki

    In the new version, we have added cosmocc tool chain support. Using it, we can compile once and run everywhere. In addition, we also refactored the implementation of C++ Modules and solved many C++ Modules-related problems.

    The cosmocc tool chain is the compilation tool chain provided by the cosmopolitan project. Programs compiled using this tool chain can be compiled once and run anywhere.

    In the new version, we also support this tool chain, which can compile programs under macosx/linux/windows, and can also support automatic downloading of the cosmocc tool chain.

  • New Feature, Enhanced Package Management

    by Ruki

    We're excited to announce a major enhancement to Xmake's package management system that will make dependency handling even more powerful and user-friendly.

    The new package management system features:

    • Smart dependency resolution: Automatically resolves complex dependency chains
    • Version conflict detection: Identifies and helps resolve version conflicts
    • Parallel downloads: Faster package installation with parallel downloading
    • Better caching: Improved caching system for faste...
  • Xmake v2.8.6 released, New Packaging Plugin, XPack

    by Ruki

    Before introducing new features, there is good news to tell you that the previous version of Xmake was included in the debian repository, and recently Xmake has entered the Fedora official repository. You can install Xmake directly on Fedora 39 through the following command.

    $ sudo dnf install xmake
    

    Many thanks to @topazus @mochaaP for their contribution to Xmake. For related information, see: #941.

  • Xmake v2.8.5 released, Support for link sorting and unit testing

    by Ruki

    Before introducing new features, we have good news to tell you that Xmake has recently entered Debian's official repository: [https://packages.debian.org/sid/xmake](https://packages.debian.org/ sid/xmake), When Ubuntu 24.04 is released in April next year, we should be able to quickly install Xmake d...

    I would also like to thank @Lance Lin for his help. He helped us maintain and upload the Xmake package to the Debian repository throughout the whole process. Thank you very much!

    Next, let’s introduce some changes introduced in version 2.8.5. This version brings many new features, especially support for link sorting, link groups, and support for xmake test built-in unit tests. In addition, we have also added build support for the Apple XROS platform, which can be used to b...

  • Xmake v2.8.3 Released, Improve Wasm and Support Xmake Source Debugging

    by Ruki

    In the new version, we have added breakpoint debugging support for Xmake's own source code, which can help contributors to get familiar with xmake's source code more quickly, and also help users to debug and analyse their own project's configure scripts.

    In addition, the number of packages in our xmake-repo repository is about to exceed 1100, with more than 100 packages added in just one month, thanks to @star-hengxing's contribution.

    At the same time, we focused on improving build support for Wasm and Qt6 for wasm.

  • Xmake v2.8.2 Released, Official package repository count over 1k

    by Ruki

    In this release, we've added a number of useful APIs, removed some interfaces that were marked as deprecated a few years ago, and improved soname support for dynamic libraries.

    Meanwhile, we've had some good news in the meantime: our xmake-repo official repository has surpassed 1k packages, thanks to every contributor to Xmake, which is basically a repository of packages contributed by the community.

    Especially @xq114, @star-hengxing, @SirLynix contributed a lot of packages, thank you very much~.

  • Xmake v2.8.1 Released, Lots of Detailed Feature Improvements

    by Ruki

    Windows' long path limitation has always been a big problem. Projects that are nested too deeply may fail when reading or writing files, which affects xmake's usability and experience.

    Although xmake has provided various measures to avoid this problem, it still suffers from some limitations occasionally. In this release, we have improved the installer by providing an installation option that lets you selectively enable long path support.

    This requires administrator privileges, as it requires a registry write.

  • Xmake v2.7.8 released, Improve package virtual environment and build speed

    by Ruki

    Xmake has long supported the virtual environment management of packages, and can switch between different package environments through configuration files.

    We can customize some package configurations by adding the xmake.lua file in the current directory, and then enter a specific package virtual environment.

    add_requires("zlib 1.2.11")
    add_requires("python 3.x", "luajit")
    
Page 1 of 6