Live data from Hacker News

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

github.com

21–30 of 190 posts

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

#21

For better or worse though, CMake has won! Many IDE's including Visual Studio can directly work with CMake files. In addition, even Google which is famous for doing things their own way, has now added official, first-class CMake support to their open source C++ library Abseil https://abseil.io/blog/20190402-cmake-support If you are writing an open source C++ library, even if you support some other C++ build system, c…

Now we just need a better DSL that can generate Cmake files.

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

#22
post #9
post #7

Does it produce hermetic builds?

What's hermetic builds?

Hermetic Builds. ... Our builds are hermetic, meaning that they are insensitive to the libraries and other software installed on the build machine. Instead, builds depend on known versions of build tools, such as compilers, and dependencies, such as libraries.

Kind of like a container for building? I had to look it up myself.

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

#23
post #17
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

But the meson installation has many dependencies, it is not very lightweight, it needs python, ninja, and xmake has built-in luajit, no third-party dependencies, more lightweight

Python is preinstalled on any major Linux distro. Ninja is tiny, so those don't seem that heavyweight.

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

#24
post #17

Earlier quoted context omitted.

But the meson installation has many dependencies, it is not very lightweight, it needs python, ninja, and xmake has built-in luajit, no third-party dependencies, more lightweight

Python is preinstalled on any major Linux distro. Ninja is tiny, so those don't seem that heavyweight.

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

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

#25
post #16

Don’t ever install software by piping arbitrary remote scripts into bash.

Unless you read and thoroughly understand the script first.

Not even then. The Server can detect if you pipe to a shell or just download the script: https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-b...

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

#26
post #9

Earlier quoted context omitted.

What's hermetic builds?

Hermetic Builds. ... Our builds are hermetic, meaning that they are insensitive to the libraries and other software installed on the build machine. Instead, builds depend on known versions of build tools, such as compilers, and dependencies, such as libraries. Kind of like a container for building? I had to look it up myself.

Got it, xmake is hermetic Builds. It does not rely on any third-party tools, nor does it rely on make.

Unless remote dependencies are used, this is optional.

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

#27
post #9

Earlier quoted context omitted.

What's hermetic builds?

Hermetic Builds. ... Our builds are hermetic, meaning that they are insensitive to the libraries and other software installed on the build machine. Instead, builds depend on known versions of build tools, such as compilers, and dependencies, such as libraries. Kind of like a container for building? I had to look it up myself.

How would it do that besides building in a container?

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

#28

Earlier quoted context omitted.

Unless you read and thoroughly understand the script first.

Not even then. The Server can detect if you pipe to a shell or just download the script: https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-b...

“Don’t ever” is a statement that depends on your threat model.

The vast majority of users would trust Homebrew (for example) to not do something like that.

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

#29
post #16

Don’t ever install software by piping arbitrary remote scripts into bash.

Assuming the script is hosted on an https site, is a popular tool (like brew or rustup) from a trusted source, why would this be any more dangerous than downloading and installing from a a package manager?

What would it take beyond https and a well-known site to make you comfortable doing this?

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

#30
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?
Post reply on HN