Fuck you, CMake.

Why does `5.10 LESS 5.4` evaluate to true?

Fuck off.

  • 27
    5.1 is less than 5.4
  • 7
    And yes, I've since learned you need VERSION_LESS. Fucking stupid. It was only considering the 5 and nothing after it, silently ignoring it.
  • 9
    Becoz steel hevier then fehurs
  • 4
    But jet fuel can't melt steel beams 🤔
  • 3
    @SortOfTested man......

    she came to me and said she leaves me becoz her new boyfriend has 1000000 upvotes and I only have one......

    and I said go......

    and she gone away......

    but she never knew that my one upvote was from SortOfTested......

    this is so sad liek if u agree.......

    #dev #vscode #js #inspiration #code
  • 9
  • 0
    @cabbybaby wuchumin
  • 2
    I don’t understand the point of this rant.

    I vote INVALID!
  • 2
    Why are you using CMake?
    Like, really. Give it a hard look.

    Make will give you fewer problems.
  • 0
    Just use GNU Make.
  • 0
    @Root gotta get that platform independence I guess
  • 1
    @LotsOfCaffeine MinGW has make, doesn't it?
  • 0
    @Root Cmake is fine except for when it's not.

    GNU Make has its own problems.
  • 0
    @junon Bash it is, then!
  • 0
    @junon Such as?

    Make doesn’t have features that think they know what you want, or features that sometimes discard state and expected behavior, and instead drive into walls. 🤷🏻‍♀️
  • 0
    @Root Look up problems with recursive make. I'm a build systems nerd - CMake has a terrible scripting language, but as far as build system theory, it gets as close to "correct" as any of the others.
  • 0
    @0x5d0 Bash is not portable and writing and its performance crumbles when you have a sufficiently large codebase.
  • 0
    @junon WDYM Bash is not portable? You can pretty reliably do builds in Bash on pretty much anything that can run it. By this, I mean *any* system that you'd build your stuff on. And there isn't a meaningful performance margin in between C build tools, since the majority of the time is spend running your compiler, Bash will just be a means to launch it with appropriate flags, etc., so theoretically, if you're not satisfied with Make, you can do a bit more in Bash instead.
  • 1
    @0x5d0 I beg you to convert the LLVM codebase otherwise built with cake and ninja to a bash-based monstrosity, benchmark it and prove me wrong when I tell you that the slowdowns are going to be VERY noticeable.

    And no, bash is non-portable as Windows is not fully POSIX compliant.
  • 0
    @junon On Windows comment: doesn't it run on mingw? Am I missing something? I mean, you have a bunch of coreutils on it as well, and you don't really need a full compliance to *just run compilers with it*.
  • 0
    @0x5d0 MinGW is not available for a lot of people, and simply isn't an option a lot of the time. MSVC compilers being mandated or simply the choice of users is something you have to support, too.
  • 1
    Yeah CMake is like C++: it's a love/hate relationship for most developers.

    There is no other tool that is quite as potentially useful, powerful and versatile as it is, but it still works with freaking ducttape everytime you use it and it looks ugly.
  • 0
    @PepeTheFrog Yeah I'd say that's pretty accurate.
Add Comment