Show HN: Xmake, a modern C/C++ build utility
131–140 of 190 posts
Re: Show HN: Xmake, a modern C/C++ build utility
#132Meson[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?
The answer is that CMake is mad and full of gotchas. Think of it like the PHP of build systems. Here is a classic example:
https://cmake.org/cmake/help/latest/command/if.html#variable...
Re: Show HN: Xmake, a modern C/C++ build utility
#133Meson[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
what about Bazel ? https://bazel.build/
Re: Show HN: Xmake, a modern C/C++ build utility
#134Im not a fan of LUA. The syntax of XMake.lua reads somewhat like CMake but easier to understand. What I'd really like to see is a build system in Python (3!) utilizing objects and dictionaries for tasks like this should be a breeze.
Do you consider waf to meet that criteria? https://gitlab.com/ita1024/waf https://waf.io Or scons? https://scons.org
Re: Show HN: Xmake, a modern C/C++ build utility
#135Im not a fan of LUA. The syntax of XMake.lua reads somewhat like CMake but easier to understand. What I'd really like to see is a build system in Python (3!) utilizing objects and dictionaries for tasks like this should be a breeze.
Just out of curiosity, what parts of lua do you not care for?
Re: Show HN: Xmake, a modern C/C++ build utility
#136Re: Show HN: Xmake, a modern C/C++ build utility
#137Earlier quoted context omitted.
if cmake was any good, the makefiles it produces would be portable, and distributing the cmake program itself would be unnecessary
CMake is doing more than generating a build file, it's also a configuration tool (detecting compiler, finding dependencies, etc).
Re: Show HN: Xmake, a modern C/C++ build utility
#138Earlier quoted context omitted.
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
#139Earlier quoted context omitted.
> An underappreciated bonus is that you don't have to install more stuff just to __build__ some program you might not even want. sorry what ? I remember hours in my younger years searching which Debian package provided autowhateverflavoroftheday.sh so that I could build $random internet project
> > An underappreciated bonus is that you don't have to install more stuff just to __build__ some program you might not even want. > sorry what ? I remember hours in my younger years searching which Debian package provided autowhateverflavoroftheday.sh so that I could build $random internet project The whole point of Autotools is that distributed source packages can be built by themselves, without requiring any part…
yes, it absolutely should be. If a tool is misused, it's generally because it's hard to use correctly. In contrast, if I see a repo with a CMakeLists.txt I know that it's going to be a simple cmake && make.
Re: Show HN: Xmake, a modern C/C++ build utility
#140Earlier quoted context omitted.
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.
> A better question is does it need to have tooling or IDE support to be worked with? No, that's the wrong question and one that's only purpose is to deflect attention from its shortcomings. All build tools need tooling because if they are adequately integrated into development workflows they are transparent and easy to use. Cmake meets that requirement, and until other alternative build systems do then they will alw…