HN user

waruqi

391 karma

https://tboox.org https://xmake.io https://github.com/tboox

Posts106
Comments86
View on HN
github.com 4y ago

Show HN: A Minimal RayGui project based on Xmake

waruqi
2pts0
github.com 5y ago

LTUI v2.4 released, A cross platform terminal UI library based on Lua

waruqi
3pts0
github.com 5y ago

Xmake v2.3.9 released, Improve C/C++ package manager

waruqi
2pts0
tboox.org 5y ago

Show HN: Xrepo – A modern cross-platform C/C++ package manager

waruqi
55pts27
github.com 5y ago

LTUI v2.2 released, A cross platform terminal UI library based on Lua

waruqi
3pts0
github.com 5y ago

Xmake v2.3.8 Released, Add Intel C++/Fortran Compiler Support

waruqi
1pts0
github.com 5y ago

Xmake v2.3.7 released, Add tinyc and emscripten toolchains

waruqi
1pts0
github.com 5y ago

Show HN: A cross-platform c/c++ build utility based on Lua

waruqi
10pts3
github.com 5y ago

Xmake v2.3.6 released, Support Fortran compilation and go/dlang packages

waruqi
8pts0
github.com 6y ago

Xmake v2.3.5 released, Multi toolchain flexible switching support

waruqi
2pts0
github.com 6y ago

Show HN: A lightweight dex file parsing library

waruqi
5pts0
github.com 6y ago

Xmake v2.3.4 released, Better toolchain support

waruqi
2pts0
tboox.org 6y ago

Xmake v2.3.3 released, Support for building iOS/macOS Framework and App

waruqi
2pts1
github.com 6y ago

Show HN: A static injector of dynamic library for application

waruqi
1pts0
github.com 6y ago

Show HN: A gradle plugin that integrates xmake seamlessly

waruqi
1pts0
tboox.org 6y ago

Xmake v2.3.2 released, Build C/C++ program as fast as ninja

waruqi
18pts3
github.com 6y ago

Xmake v2.3.2 released, Build as fast as ninja

waruqi
9pts0
tboox.org 6y ago

Xmake v2.3.1 released, Seamless integration with other build systems

waruqi
4pts0
tboox.org 6y ago

Xmake v2.2.9 released, Add experimental support for C++ 20 modules

waruqi
8pts1
tboox.org 6y ago

Xmake Getting Started Tutorial 5: Introduction to Android Platform Compilation

waruqi
1pts0
tboox.org 6y ago

Xmake Getting Started Tutorial 4: C/C++ project description settings

waruqi
5pts1
tboox.io 6y ago

Show HN: A glib-like cross-platform C library

waruqi
3pts0
xmake.io 6y ago

Show HN: A Modern C/C++ build tools (Simple, Fast, Cross-platform)

waruqi
89pts56
tboox.org 6y ago

Tbox v1.6.4 update, new c11 style atomic operation

waruqi
1pts0
tboox.org 6y ago

Uses xmake to build C++20 modules

waruqi
2pts0
tboox.org 6y ago

Xmake v2.2.8 released, New vs. project generator

waruqi
1pts0
tboox.org 6y ago

Create and upload C/C++ packages to xmake's official repository

waruqi
2pts0
github.com 6y ago

A Modern C/C++ Package Repository

waruqi
3pts0
xmake.io 6y ago

Write c/C++ packages for xmake-repo

waruqi
2pts0
github.com 7y ago

Show HN: Uses xmake-vscode to build c/C++ projects in VSCode

waruqi
2pts0

xmake is a lightweight cross-platform build utility based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more concise and intuitive. It is very friendly to novices and can quickly get started in a short time. Let users focus more on actual project development.

It can compile the project directly like Make/Ninja, or generate project files like CMake/Meson, and it also has a built-in package management system to help users solve the integrated use of C/C++ dependent libraries.

A simple example with package dependences

    add_requires("tbox >1.6.1", "libuv master", "vcpkg::ffmpeg", "brew::pcre2/libpcre2-8")
    add_requires("conan::OpenSSL/1.0.2n@conan/stable", {alias = "openssl", optional = true, debug = true}) 
    target("test")
        set_kind("binary")
        add_files("src/*.c")
        add_packages("tbox", "libuv", "vcpkg::ffmpeg", "brew::pcre2/libpcre2-8", "openssl")

Xmake has its own package management repository.https://github.com/xmake-io/xmake-repo

And it also supports self-built distributed repositories and third-party repositories (e.g. vcpkg, conan, clib, homebrew).

  add_requires("libuv master", "ffmpeg", "zlib 1.20.*")
  add_requires("tbox >1.6.1", {optional = true, debug = true})
  target("test")
    set_kind("shared")
    add_files("src/*.c")
    add_packages("libuv", "ffmpeg", "tbox", "zlib")