Live data from Hacker News

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

xmake.io

21–30 of 57 posts

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

#21
post #16

Earlier quoted context omitted.

You should definitely take a look at bazel. This is not say bazel is better than the one you wrote but cleary bazel is becoming a industry standard making other build tools obsolete.

Ok, I will look at it, as far as I know, cmake seems to be more popular than bazel. At least I rarely see projects that use bazel, although I don’t like the syntax of cmake very much.

yes, I guess comparing with the de-facto standard solution (cmake) would be more beneficial.

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

#22
post #12

Earlier quoted context omitted.

I haven't compared it to bazel, but if you like the description style of xmake for the project or you like lua, you can try it.

You should definitely take a look at bazel. This is not say bazel is better than the one you wrote but cleary bazel is becoming a industry standard making other build tools obsolete.

I'm sure once it works, bazel is great and all, but Windows seems to have been an afterthought (which makes that whole "industry standard" thing a bit "complicated").

The hoops one has to jump through to get it running on Windows are a joke (TBH, the list of prerequisites and potential issues looks like a UNIX programmer was confronted for the first time with Windows):

https://docs.bazel.build/versions/1.1.0/install-windows.html

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

#23
post #12

Earlier quoted context omitted.

I haven't compared it to bazel, but if you like the description style of xmake for the project or you like lua, you can try it.

You should definitely take a look at bazel. This is not say bazel is better than the one you wrote but cleary bazel is becoming a industry standard making other build tools obsolete.

Bazel is an obscure tool mostly used by Google.

The industry standard is CMake.

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

#24
post #12

Earlier quoted context omitted.

I haven't compared it to bazel, but if you like the description style of xmake for the project or you like lua, you can try it.

You should definitely take a look at bazel. This is not say bazel is better than the one you wrote but cleary bazel is becoming a industry standard making other build tools obsolete.

The de facto industry standard is cmake, I have never even seen bazel in the wild and I work across many companies on big C++ code bases. I primarily use meson, and have even seen some cmake projects moved to meson, but I am under no illusions about it replacing cmake.

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

#25

Earlier quoted context omitted.

You should definitely take a look at bazel. This is not say bazel is better than the one you wrote but cleary bazel is becoming a industry standard making other build tools obsolete.

I'm sure once it works, bazel is great and all, but Windows seems to have been an afterthought (which makes that whole "industry standard" thing a bit "complicated"). The hoops one has to jump through to get it running on Windows are a joke (TBH, the list of prerequisites and potential issues looks like a UNIX programmer was confronted for the first time with Windows): https://docs.bazel.build/versions/1.1.0/install-…

Bazel, like most Google open source projects, has a strong focus on Google's internal needs. Another similar Bazel surprise is how many hoops you have to jump through for the rare task of... debugging a cc_binary on macOS: https://github.com/bazelbuild/bazel/issues/2537

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

#26
post #15
post #8

Earlier quoted context omitted.

Scons is effectively dead, and I wish people would start removing it from the Python build systems web pages. Meson is written in Python and isn't dead. However, Meson requires a partner to actually build things--something like cmake or ninja. However, I think the original poster meant "Why Lua instead of Python?" And the only real answer is "Because that's what the author wanted to use."

btw: There's also Waf written in Python, which also isn't dead.

we are also happy with waf, wich gives us a lot of flexibility (e.g., use python libs that are not build-related) and use a language that the team already know. (https://waf.io)

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

#27
I so badly want to get off the C/C++ build system roller coaster. I've gone from make to autoconf to various IDEs to CMake to Meson, and have looked at a bunch of others but never made the jump.

Eventually fatigue sets in, you pick a tech, and stick with it even as the tech fades into obscurity and nobody can figure out how to build your project anymore, let alone integrate it :/

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

#28
Unfortunately no build tool can ever really improve productivity in absolute terms. They can only ever "improve" relatively, i.e by sucking less and reducing productivity less than some other competing build tools.

The time that is spent dicking around with these silly build systems/tools is always time that is wasted and sank into useless activities without any value added in the end product.

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

#29

Unfortunately no build tool can ever really improve productivity in absolute terms. They can only ever "improve" relatively, i.e by sucking less and reducing productivity less than some other competing build tools. The time that is spent dicking around with these silly build systems/tools is always time that is wasted and sank into useless activities without any value added in the end product.

I completely disagree. Do you want to go back to typing g++ commands by hand for each source file? That's not a build tool and yet it is objectively worse than even a crappy build tool.

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

#30

Unfortunately no build tool can ever really improve productivity in absolute terms. They can only ever "improve" relatively, i.e by sucking less and reducing productivity less than some other competing build tools. The time that is spent dicking around with these silly build systems/tools is always time that is wasted and sank into useless activities without any value added in the end product.

I completely disagree. Do you want to go back to typing g++ commands by hand for each source file? That's not a build tool and yet it is objectively worse than even a crappy build tool.

No, ofc nobody wants to do that and that's not really what I'm saying. I'm saying that all current build tools suck and can only ever decrease your software's value and decrease productivity.

Let me illustrate. Your software is a product X. It has some value V (as by some measure of value, perhaps $ earned). The product X is the ultimate output of some build tool T.

Now image you had this incredible build tool that produced X without any programmer doing any build related work ever at all. Your build output is X and value is V. 100% of your developer effort can go towards working on X and increasing V!

Now in reality you spend some amount of time writing build files, working with the build, fixing bugs in the build files, generally maintaining it. This is typically non zero effort and the cost grows above linearly wrt respect to build configurations/platforms supported etc.

However the output of the build tool is still the same X and value is still V. So your build tool added 0 value!

In fact any build tool can only ever decrease your product's value. Why? How? Because of the cost of messing with the build is non-zero and you spend time on it that could otherwise be spent working on actual things that produce more value (such as adding new features or fixing bugs or whatever). i.e. you can only put 100% - "build effort" amount of effort towards working on X and increasing V.

Post reply on HN