CMake vs Make - A developer's perspective

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ย. 2024

ความคิดเห็น • 37

  • @default2043
    @default2043 9 หลายเดือนก่อน +8

    Great Video! Can you also make a video on CMake explaining what toolchains are?

    • @KeaSigmaDelta
      @KeaSigmaDelta  9 หลายเดือนก่อน

      Thanks. I'll think about doing a toolchains video...

    • @KeaSigmaDelta
      @KeaSigmaDelta  8 หลายเดือนก่อน +2

      Here you go: th-cam.com/video/9vw0iO6uwUk/w-d-xo.html

    • @default2043
      @default2043 8 หลายเดือนก่อน

      Love it@@KeaSigmaDelta

    • @KeaSigmaDelta
      @KeaSigmaDelta  8 หลายเดือนก่อน

      @@default2043 Great!

  • @thejking
    @thejking 8 หลายเดือนก่อน

    Thank you so much for this short but thorough explanation! 👍

  • @VanosTurbo
    @VanosTurbo ปีที่แล้ว +1

    Great explanation!

  • @committedcoder3352
    @committedcoder3352 8 หลายเดือนก่อน

    I started with Make and enjoy it (sounds masochistic now that I say it aloud), but I should probably learn how to use at least the basics of CMake to get it into my repertoire, it's fairly common and I tend to just skirt around it when I come across it lol.

    • @KeaSigmaDelta
      @KeaSigmaDelta  8 หลายเดือนก่อน

      Sounds like you're where I was a number of years ago. I had figured out how to get make to do most of what I wanted. I would manually adapt projects that use CMake to use Make instead... until that was too much of a pain.

  • @veganaiZe
    @veganaiZe หลายเดือนก่อน

    Autotools handles dependency checking for the GNU toolchain.

    • @KeaSigmaDelta
      @KeaSigmaDelta  หลายเดือนก่อน

      Yeah, but autotools isn't GNU Make. I also can't stand autotools.

    • @veganaiZe
      @veganaiZe หลายเดือนก่อน

      @@KeaSigmaDelta GNU Make does one thing and does it well. Around @5:00 you mentioned that GNU Make can't handle dependencies and guessed that scripting might be the way, while neglecting to mention Autotools. That's why I mentioned it. (I'd agree, autotools is slow & ugly. But it served a purpose & apparently still does.)

    • @KeaSigmaDelta
      @KeaSigmaDelta  หลายเดือนก่อน

      I didn't mention it because, while Autotools is a GNU project, it isn't part of GNU Make.

    • @veganaiZe
      @veganaiZe หลายเดือนก่อน

      @@KeaSigmaDelta It's officially part of the GNU Toolchain. It's worthy of mention. Just because GNU follows the philosophy of do one thing, and do one thing well (ie. `make` being focused) doesn't mean that related tools shouldn't be mentioned. CMake is (potentially) an alternative to both make & autotools. But if you want to die on that hill I'm not going to stop you.

    • @KeaSigmaDelta
      @KeaSigmaDelta  หลายเดือนก่อน

      @@veganaiZe This is a video about CMake vs Make. I decided to keep it brief, focused and beginner friendly.

  • @AnotherCG
    @AnotherCG 7 หลายเดือนก่อน

    Just something wrong with one compiler?

    • @KeaSigmaDelta
      @KeaSigmaDelta  7 หลายเดือนก่อน

      Not sure what you're asking.
      The best compiler to use depends on each platform (e.g., Visual Studio on Windows).

  • @yusaza5830
    @yusaza5830 11 หลายเดือนก่อน

    Thanks man

    • @KeaSigmaDelta
      @KeaSigmaDelta  11 หลายเดือนก่อน

      You're welcome.

  • @rasheedatanda9927
    @rasheedatanda9927 8 หลายเดือนก่อน

    man looks like the smaller version of luis van gaal 😅

    • @KeaSigmaDelta
      @KeaSigmaDelta  8 หลายเดือนก่อน +1

      Heh. Well, he's from the Netherlands, just like my parents...

  • @wjrasmussen666
    @wjrasmussen666 6 หลายเดือนก่อน

    Make was going crossplatform going back decades.

    • @KeaSigmaDelta
      @KeaSigmaDelta  6 หลายเดือนก่อน

      You can use it on multiple platforms, including Windows. However, it's normally only used with GCC.
      I personally wouldn't use GNU Make with anything other than GCC.

    • @wjrasmussen666
      @wjrasmussen666 6 หลายเดือนก่อน

      @@KeaSigmaDelta We used it in 94 at a company that had 16 flavors of UNIX. You make is sound like nobody did it. I think that is wrong. I know you have to say stuff to make a point and sell cmake.

    • @KeaSigmaDelta
      @KeaSigmaDelta  6 หลายเดือนก่อน

      ​@@wjrasmussen666 At no point did I suggest that nobody did it. I've personally used GNU Make on multiple platforms, including Windows.
      You're welcome to disagree with me. But, insinuating that I'm saying "stuff to make a point and sell cmake" is both overly cynical and rather insulting.

    • @wjrasmussen666
      @wjrasmussen666 6 หลายเดือนก่อน

      @@KeaSigmaDelta No you didn't but you did the left handed version of it. cmake does it.

    • @KeaSigmaDelta
      @KeaSigmaDelta  6 หลายเดือนก่อน

      @@wjrasmussen666 No, but believe whatever you want.

  • @llothar68
    @llothar68 8 หลายเดือนก่อน

    I had to go back from make to individual builds for each platform. Cmake is just bad. Still use it on Linux but I want to go away too because you can’t share compiled files between multiple targets unless you end up with lots of object libraries. And modern winapp sdk forces msbuild anyway

    • @KeaSigmaDelta
      @KeaSigmaDelta  8 หลายเดือนก่อน

      Interesting. That's not a problem that I've encountered.

    • @tobyfrancisv
      @tobyfrancisv 7 หลายเดือนก่อน

      Fairly common problem for industrial usage of C++! CMake helps DevOps teams interact with the build toolchain more easily, but the control that Make provides can lead to more efficient builds in large projects, so seasoned developers tend to favor Make. I want to try CMake with Ninja, though, since that is aimed at helping with this issue. Could you do a video about CMake using Ninja?

    • @KeaSigmaDelta
      @KeaSigmaDelta  7 หลายเดือนก่อน

      @@tobyfrancisv I haven't tried using CMake with Ninja yet. Are you saying that Ninja with CMake could lead to faster builds than using the native build system (e.g., Make)?