4 ms·
If portability is a goal you might want to use CMake and Docker.
by DrFalkyn 2y ago
If portability is a goal you might want to use CMake and Docker.
- johnnyjeans 2y agomake is more portable than cmake. docker has zero value add from what I saw in the repo.
- DrFalkyn 2y agoHow about fixing the version of the compiler and the dependencies so you don’t get build errors ? Yes it only works for Linux. But these days it’s pretty easy to get a Foam with WSL on Windows and Docker for desktop Sticking with a Makefile is going get increasingly unwieldy for a large project
- Shorel 2y agoDefinitely not true in my experience. Want to describe your issues with CMake? Maybe the community can help you.
- deleted 2y ago[deleted]
- johnnyjeans 2y agoIt's inherently less portable as it relies on C++ and the cmake language is rather complicated, and thus making it harder to implement. Make and more preferable mk, are reliant on C, and are simpler languages making them easy to implement. It's simple portability calculus.
- menaerus 2y agoPortability-wise this was perhaps the case ~20 years ago but today I am not aware of any platform that doesn't have a decent C++ compiler so I don't think what you're saying is generally true. I also don't agree on the second point - I don't see what makes the CMake "harder to implement" than make/mk. It's already implemented and all you need is a compiler, which we have plenty of.
- johnnyjeans 2y ago> I am not aware of any platform that doesn't have a decent C++ compiler Plan 9 > I don't see what makes the CMake "harder to implement" than make/mk If you can't use the existing codebase, then you have to implement cmake from scratch, which is orders of magnitude more difficult than implementing a mk interpreter.
- menaerus 2y agoI hope you're aware how loose of an argument this is. > Plan 9 is a research operating system, and exists to answer questions about ideas in OS design. As such, the Plan 9 experience is in essence an exploration of the interesting ideas it puts forth. Most of the ideas are small. > ... > Plan 9 failed, in a sense, because Unix was simply too big and too entrenched by the time Plan 9 came around. It was doomed by its predecessor. Nevertheless, its design ideas and implementation resonate deeply with me, and have provided an endless supply of inspiration for my own work. I think that everyone owes it to themselves to spend a few weeks messing around with and learning about Plan 9. The dream is kept alive by 9front, which is the most actively maintained fork of Plan 9 available today. Install it on your ThinkPad and mess around. [0] https://drewdevault.com/2022/11/12/In-praise-of-Plan-9.html https://drewdevault.com/2022/11/12/In-praise-of-Plan-9.html
- psyclobe 2y agoMake is quite a bit more headache these days to consume then make (in modern code bases anyway).
- johnnyjeans 2y agoI'm not actually a fan of make, I think mk is a much better language, but everything is relative. I still prefer make over any meta-build system or garbage like boost jam. In my experience the problem of modern codebases is that they're structured like crap in the first place. Too complicated and for very little real reason. OP's codebase is actually trivial, so the problem doesn't really exist. It would be trivial to adapt it to use msvc, but if you have make on windows, chances are you already have gcc so there's not much point unless you REALLY want to use microsoft's compiler.
- deleted 2y ago[deleted]