Hacker News new | ask | show | jobs
by yakubin 1555 days ago
Has anyone here used xmake in anger? How did it fare?
2 comments

I will never touch CMake again for my own projects. Ever. Xmake is extremely easy to use (while still being powerful) and really just works.

The only real downside I've encountered is that it if you want to do something very specific, it can be frustrating to find out how. The documentation can be somewhat unclear or lacking at times (I don't blame the author, their native language isn't English), and there is so little content out there that Google always corrects "xmake" to "cmake" in your searches.

> I will never touch CMake again for my own projects. Ever. Xmake is extremely easy to use (while still being powerful) and really just works.

That's quite the odd statement. CMake is extremely easy to use, just works, and handles everything at all that everyone needs, from building cross-platform projects comprised of multiple programming languages, tests, dependencies, and even packaging.

In your opinion, what makes xmake worth the trouble?

Let's even put up a concrete example. Say I have a cmake project. It handles dependencies with a mix of ExternalProject_Add(), Conan, and even a stashed folder of vended third-party binaries. Also, it handles tests, and packaging, and it runs in a CICD pipeline that does it all on a couple of target platforms. Why would anyone switch that project to xmake?

I've used it, it was actually so good I donated money to the author.

One of the best build systems I've ever used. The author replied to my question within a day on the Discord.

It's an underrated build system. Easiest thing, and has support for just about every language under the sun baked in, even obscure ones.

One of my favorite features particular to C++ is that you can configure dependencies to use local libraries, vcpkg, or Conan specifically.

Before anyone knocks it, highly suggest giving it a try on your next personal project.

> One of my favorite features particular to C++ is that you can configure dependencies to use local libraries, vcpkg, or Conan specifically.

This was the only substantiated claim you made in your whole post, but it refers to stuff that most standard build systems already do, specially cmake.

In fact, it's even trivial to hack together a plain old Makefile to add a target that invokes vcpkg or conan to fill in dependencies.

What exactly do you believe makes xmake worth the trouble?