I hate CMAKE. That's the post. Just hate it.

Why the FUCK does CMAKE generate VS project files that depend on having CMAKE installed on your system? And it has to be in a fixed path? And EVERYTHING has to be in a fixed path?

Have CMAKE developers ever compiled something or used version control? This is unusable and I am very angry and it's Monday and I haven't had my coffee yet.

#cmake #programming #cprogramming

Ok, I finally managed to make this project work on a different machine it ran CMAKE and just regenerated the project discarding all my changes.

What in the actual hell is this?

#cmake #programming #cprogramming

Show thread

@sos Isn't that's how CMake (or other tools like that) should be used?

Store CMake config on the repo, regenerate project files locally. When adding/removing files, do that in CMake, and regenerate again. That's the idea 🤷‍♂️

I'm definitely not saying it's a good idea 😅

@kkolakowski @sos It's a much better idea than having to maintain a myriad of separate build scripts for each platform and having to deal with stuff like Visual Studio or Xcode directly. CMake isn't a particularly beautiful implementation of that idea, but any other sane build system works the same way.

@dos @kkolakowski Why is it so bad with Visual Studio then?

It tries to solve a problem that didn't exist.

Follow

@sos @kkolakowski Is it though? All I can see here is you trying to use a tool blindly without understanding what it's for :P
It's a build solution generator, and VS project files are merely one of the kinds of outputs it does (alongside Ninja, Make, Xcode and plenty of some obscure ones too). Generated files are just intermediate build artifacts - you use them to build, they're not for human consumption nor for editing.
It's simply an abstraction on top of various incompatible build systems.

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml