Which will probably be never.
I mean, all cmake does is run some commands for you. You not understanding cmake errors (mostly) means you don’t understand the errors given to you by the C/C++ compiler.
Partly, yes. But I also think their documentation is a bit hard do read. Maybe this will get better with time.
I use distcc, and do not have to take vacation for my programs to finish compiling.
That’s like one thing ML can actually help with XD cute cat
There are cmake debuggers where you can walk through exactly what it’s doing line by line
cmake debugger
I use this one in vscodium https://open-vsx.org/vscode/item?itemName=ms-vscode.cmake-tools
I forgot to assign a variable, now it crashes %5 of the time. It’s wild how c doesn’t default variables to null or something.
default variables to null or something
That is such a bad idea. Better to have the compiler warn you about it like in Rust, or have the linter / IDE highlight it.
If it’s going to compile without any warnings I’d rather the app crash rather than continue execution with rogue values as it does now.
There is so much room for things like corrupted files or undocumented behavior until it crashes. Without the compiler babysitting you it’s a lot easier to find broken variables when they don’t point to garbage.
Just enable all compiler warnings (and disable the ones you don’t care about), a good C compiler can tell you about using unassigned variables.
C does exactly what you tell it, no more. Why waste cycles setting a variable to a zero state when a correct program will set it to whatever initial state it expects? It is not user friendly, but it is performant.
Except that this is wrong. C is free to do all kinds of things you didn’t ask it to, and will often initialize your variables without you writing it.
Machine code would be a better example of what he’s talking about imo. Not an expert or anything of course.
The C in Cmake maybe stands for cat. It would make sense.
In case anyone wants to know the actual answer, it stands for cross platform make, and my understanding is that it’s for generating build project files for various development environments. For instance, with one CMake file you can generate a Visual Studio Solution file, an XCode project file, a Makefile, etc. Several IDEs are also able to read CMake files directly.