Live data from Hacker News

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

github.com

111–120 of 190 posts

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

#111

Earlier quoted context omitted.

Cmake has tooling and is supported by IDEs. Does Meson have anything comparable?

A better question is does it need to have tooling or IDE support to be worked with? It's good to have tooling and IDEs for CMake because CMake is complicated and hand-editing the files is very tedious. But if Meson eliminates the tedium of CMake by providing you with different abstractions then you don't actually need the IDEs or tooling.

CMake can generate IDE workspace files, which makes it possible to use Visual Studio almost natively - the almost being, the ide is "read only" with respect to project settings and files - but on a stable project, that feels very close to native.

I have not used Meson, but other build environments (e.g. Make) don't interact as well with IDEs as CMake does (with the exception of premake, which is mostly dead.

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

#112
post #15

Earlier quoted context omitted.

I think half those N's are cmake itself considering the amount of time I see "requires cmake x.x or above" messages. I wouldn't find having many build system such an issue if they'd just add a makefile (and maybe ./configure) to call that build system, giving devs a consistent interface and not having to lookup up how to do a simple build.

> 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.

> just run cmake . to get yourself a fancy makefile.

Well most instructions I've seen start of with "mkdir build && cd build && cmake ../src", which is a bit more complicated than just "make" with a default build dir. I'm not sure why they're all like this, I would have though supplying a default build directory is something cmake could handle.

My last and only big project with cmake we ended up with a makefile anyway to drive all the things cmake couldn't do, or that we couldn't do with cmake due to inexperience or some combination of the two. So we ended up with make calling cmake calling make, all because it apparently made it easier for IDE users (it didn't but that was definetly our fault).

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

#114

Earlier quoted context omitted.

I can't think of a context in which I've used Meson where it ever felt not lightweight. Python is already installed in every system and ninja is quite small.

Python isn't installed on Windows, the pre-installed python version on macOS is stuck at 2.7.10. ninja isn't installed on macOS and Windows, and both systems require to first install a package manager before installing ninja, or compile ninja from scratch.

ninja on windows just requires you to download ninja.exe and put it in your path

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

#115
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

Why migrate from CMake to meson?

Oh, the number of hours of my life I spent debugging CMake files of third party libraries.

You are very fortunate if you import libraries that just work. This is also true for "modern" CMake.

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

#116
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?

If you post on Show HN you can expect feedback and discussion about related tools (f.e. in threads about Ghidra recently, comparisons with IDA Pro and Radare are made). It is up to the readers value and moderate the discussion(s).

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

#117

Earlier quoted context omitted.

I can't think of a context in which I've used Meson where it ever felt not lightweight. Python is already installed in every system and ninja is quite small.

Python isn't installed on Windows, the pre-installed python version on macOS is stuck at 2.7.10. ninja isn't installed on macOS and Windows, and both systems require to first install a package manager before installing ninja, or compile ninja from scratch.

python and ninja are also bundled in the installer for meson.

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

#118
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 ...

It is if you run it inside a Docker container... no mess, no fuss...

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

#119
post #6

Earlier quoted context omitted.

Until you eventually you have n-k fit for purpose build systems. Having competing standards isn't always a bad thing e.g. if they do slightly different jobs

What does k mean?

Presumably it's the number which are not fit-for-purpose.

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

#120
post #112

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.

> just run cmake . to get yourself a fancy makefile. Well most instructions I've seen start of with "mkdir build && cd build && cmake ../src", which is a bit more complicated than just "make" with a default build dir. I'm not sure why they're all like this, I would have though supplying a default build directory is something cmake could handle. My last and only big project with cmake we ended up with a makefile anywa…

> I'm not sure why they're all like this, I would have though supplying a default build directory is something cmake could handle.

cmake -H. -Bbuild && cmake --build .

Will do an out of source build with the default toolchain on windows/mac/linux. Has the added benefit of being parallel, and working with Visual Studio/Ninja/XCode.

Post reply on HN