Live data from Hacker News

Show HN: Xmake, a modern C/C++ build utility

github.com

141–150 of 190 posts

Re: Show HN: Xmake, a modern C/C++ build utility

#141
post #14

Meson[0] has been gaining in popularity and has migration tools for cmake projects. Large projects such as systemd and gnome[1] have migrated or have been migrating for years [0] https://mesonbuild.com/ [1] https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting

Meson doesn't seem to be a significant improvement over CMake beyond syntactic sugar. It uses the exact same, unreliable models as CMake, just with a slightly nicer-seeming syntax and about 242 more dependencies.

Re: Show HN: Xmake, a modern C/C++ build utility

#142
post #14

Meson[0] has been gaining in popularity and has migration tools for cmake projects. Large projects such as systemd and gnome[1] have migrated or have been migrating for years [0] https://mesonbuild.com/ [1] https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting

I really like Meson, but I've found with it that the corner cases where the simple syntax doesn't work get really hairy really fast, eg producing vst plugins, or linking against something that doesn't have a deep integration with pkgtool or such.

Re: Show HN: Xmake, a modern C/C++ build utility

#143

Earlier quoted context omitted.

what about Bazel ? https://bazel.build/

Bazel is very slow and heavy and only Google uses it.

Bazel has been significantly faster than cmake/make on the codebases I've tried it on. It has a bunch of warts, but it has been a better framework to build on than anything else I've encountered.

I'm probably biased as I write and maintain Starlark for C++ codebases on a daily basis.

Re: Show HN: Xmake, a modern C/C++ build utility

#144
post #37
post #24

Earlier quoted context omitted.

Python also has version compatibility issues, such as: python2.x, 3.x. Also need the user to install the specified version of python

Any new project will very, very likely be using Python3. It appears like that applies to meson. `python3` is the expected binary (`python` is still expected to point to Python 2 for the foreseeable future and `python2` being the explicit binary--some distros have jumped the gun on `python`). Similarly, they have completely different accompanies executables (pip3, wheel3, pydoc3) and completely separate library paths.…

The sooner debian kills the python = python2 association and python3 becomes the default provider of 'python' the better, I think I read that it's scheduled for this year finally.

Re: Show HN: Xmake, a modern C/C++ build utility

#145
post #73

Earlier quoted context omitted.

> Python also has version compatibility issues, such as: python2.x, 3.x. If that really bothers you then just create a virtual environment and locally deploy whatever version you want to run. That issue ceased to be a concern years ago.

> just create a virtual environment Yaw super lightweight ...

I think GP means `python3 -mvenv my_venv` rather than running in a VM or any heavyweight virtual environment. At least that's how I interpret 'virtual environment' in a pythonic context, and they're certainly lightweight enough.

Re: Show HN: Xmake, a modern C/C++ build utility

#146
post #82

a developer post a well rounded tool with documentation that was built with a lot of care. The comment thread is mostly about other tools or people dismissing the work done because another available offer is more popular or common. When did "Show HN" threads became shark tank? Can people at least check and post about the tool itself instead of discussing CMake vs Ninja vs Meson?

You may accomplish the behavior shift you desire by posting about the tool yourself. Then people will start supporting, disagreeing, posting questions, etc. Bashing the behavior might not work well.

People tend to stick to familiar topics ... as shown in the next Meson comment turned to Python2-vs-Python3-compatibility in a whim.

Re: Show HN: Xmake, a modern C/C++ build utility

#149

Earlier quoted context omitted.

> if they'd just add a makefile (and maybe ./configure) That's the whole point of cmake. Instead of running autotool's ./configure (which in fact is a whole dance involving autoconf, autoreconf, automake, and whatnot) just run cmake . to get yourself a fancy makefile.

if cmake was any good, the makefiles it produces would be portable, and distributing the cmake program itself would be unnecessary

Portable build files don't appear to be a design goal... if you want those, you probably need a different tool. They do exist.

As for distributing CMake, the intention is presumably that it's installed on the system of whoever's going to build the code, like make, or gcc, or whatever.

Re: Show HN: Xmake, a modern C/C++ build utility

#150
post #37
post #24

Earlier quoted context omitted.

Python also has version compatibility issues, such as: python2.x, 3.x. Also need the user to install the specified version of python

Any new project will very, very likely be using Python3. It appears like that applies to meson. `python3` is the expected binary (`python` is still expected to point to Python 2 for the foreseeable future and `python2` being the explicit binary--some distros have jumped the gun on `python`). Similarly, they have completely different accompanies executables (pip3, wheel3, pydoc3) and completely separate library paths.…

On the contrary, Arch Linux has ‘python’ as Python 3 and ‘python2’ as Python 2. Although most of the Linux users are on Ubuntu, you can’t ignore those other distributions.
Post reply on HN