What build system are you most interested in? Which one do you hear most about?
@andreibaraian882 жыл бұрын
Cmake and bazel
@bsdooby2 жыл бұрын
CMake for the win.
@masaaldosey2 жыл бұрын
Interested in CMake :D
@coolguy692352 жыл бұрын
Interested in Bazel / ninja build systems
@princepatel_channel2 жыл бұрын
+1 for Bazel
@ahans1232 жыл бұрын
Mentioning Bazel and Ninja in the same sentence is a bit odd IMHO. With Bazel actually aiming to do everything itself, while Ninja is a build backend that is supposed to its input files generated. I suppose you're going for CMake generating a Ninja build, which is probably a good approach for this series. After all, CMake is probably the most commonly used build tool for C++. However, I've grown quite fond of Bazel in recent years, so giving an overview there would probably be very useful!
@CodeForYourself2 жыл бұрын
Hey Alex, well, I wouldn't say it's that odd to be honest 🤷. I might, of course, be wrong here, but Ninja is really closest to Make in my view. It is a simple script of dependencies and commands to build them, so in the end it just calls your compiler with certain inputs in a certain sequence. Bazel is not really that much different. It does, of course, a lot more and provides a more abstract way of designing ones build but essentially it still comes down to calling your compiler with a certain set of flags in a certain order. So from this perspective Bazel, Make and Ninja do the same. CMake on the other hand _does not_ call the compiler on its own. It generates the Makefile or a ninja build file (or others) and that's about it. In the next step, the underlying build system still has to be called to actually call the compiler program with the needed inputs. I think the reason why it feels odd is that people keep talking about CMake and Bazel as an "end-to-end" system, while they rarely do so about Make and Ninja and I give you that. But I hope that my logic is not too flawed either. Anyway, we're gonna be using CMake + Make combination in the course as a basis but after that people should have zero issues replacing Make with ninja if they want. Sorry for a lengthy answer :)