4 ms·
Still hell of a lot simpler than hand-writing Makefiles though. For both small and large projects. I mean, a "hello world" CMakeLists.txt can be literally just
by realharo 10y ago
Still hell of a lot simpler than hand-writing Makefiles though. For both small and large projects.
I mean, a "hello world" CMakeLists.txt can be literally just this:
add_executable(hello hello.c)
And it's cross-platform, can generate Visual Studio/Xcode/... projects, etc.
- onli 10y agoI think we have to go deeper than that to really see an advantage of cmake. A corresponding makefile would be: all: hello That's not really complicated either.
- radarsat1 10y agoExactly. When evaluating a language / build system / whatever, it is definitely not sufficient to look at Hello World. You have to evaluate the worst case and average case if you want to get an idea of what you're in for. Looking at the "best case" (simple one-file project) tells you almost nothing except how hard it is to get started.
- ryandrake 10y agoWhen evaluating build systems, one of my major questions is: How much "magic" will I have to work-around in order to do something off the beaten path that the build system's developers never considered? This is a good criteria for languages as well.
- stormbrew 10y agoThe thing is that these are not equivalent hello worlds. I mean, if only for the fact that the cmake example does proper header dependency management, which is essential to correctly compiling c/c++ code as it changes. It's not something you can leave out of a makefile and still call it correct.