In 15+ years of full time work as a C++ software engineer there is one tool that I always hated: CMAKE. What a fucking pile of shit, seriously, every time there is project that uses it I simply cannot build said project with one click. In all these 15 years working in different companies the only reason people speak about cmake is to avoid adding source files to multiple projects (VS, XCode, Android).

I'm not some kind of newbie: I've make cmake projects myself, I've build hundrends of projects that use cmake and I even contributed fixes to their code. I still believe that cmake is garbage that should stop to exist.

  • 3
    Do you know of any good alternative?
    Also, welcome to devRant!
  • 1
  • 0
    Welcome to devRant
  • 2
    I prefer the old and simple make
  • 2
    You should look at Ninja or (my favourite) Meson. Now, I just do C99, but I believe C++ are supported on both of 'em, and they're both wonderful
  • 0
    @RememberMe I prefer to deal with VS directly (because I like it) and with xcode (because I have no other choice).

    I really liked make-base original build system from android... I think it was well designed; however it seems that it's being replace by ... cmake
  • 1
    @Proximyst I've seen ninja (I've built chrome and I think they made ninja to handle chrome). No idea if these are any better. At least I know if I try to build cmake based project that I'll suffer and google for the same stuff again and again to be able to finally get VS project out of cmake.
  • 0
    Interesting. Now almost 2 years in a code base using cmake and some additional bash to instrument the build. Such a pestering pain. Sometimes wondered if it's our fault or of this poor 'language'.
    But what alternative would you have for building on several Linux distros (rpm + deb) and MacOS (pkg)
  • 1
    @phorkyas We don't build for linux. We run windows servers :) We use cmake for linux (non production) builds, we actually reuse same build scripts from our android build.

    We are slowly switching to linux, but we will be using same linux version perhaps across tens of thousands of our servers. The reason for the swtich is obvious: you can guess what licensing fees we pay to run these tens of thousands of win servers
Add Comment