🏗️ Build your libraries easier using build systems

Поделиться
HTML-код
  • Опубликовано: 13 сен 2024

Комментарии • 10

  • @CodeForYourself
    @CodeForYourself  Год назад

    What build system are you most interested in? Which one do you hear most about?

  • @bsdooby
    @bsdooby Год назад +5

    CMake for the win.

  • @coolguy69235
    @coolguy69235 Год назад +3

    Interested in Bazel / ninja build systems

  • @masaaldosey
    @masaaldosey Год назад +2

    Interested in CMake :D

  • @ginsonmathew186
    @ginsonmathew186 Год назад +1

    +1 for bazel

  • @ahans123
    @ahans123 Год назад +1

    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!

    • @CodeForYourself
      @CodeForYourself  Год назад +2

      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 :)

  • @princepatel_channel
    @princepatel_channel Год назад +3

    +1 for Bazel

  • @piperosgr
    @piperosgr Год назад +3

    let's do bazel