3 ms·
One thing to understand about CMake is that it's a bit like C++ - it had a terrible beginning (C, C++98), improved a lot in later versions, but can never really
by CountSessine 4y ago
One thing to understand about CMake is that it's a bit like C++ - it had a terrible beginning (C, C++98), improved a lot in later versions, but can never really leave it's troubled past behind.
CMake 2.x and earlier weren't really that compelling - it was sort of a version of Make except with a macro-ish syntax and the ability to write your build rules for you. CMake 3 was a huge change in that it introduced build target properties - that's what all that `target_include_` and `target_link_` stuff is. Being able to attach build properties to target objects rather than having them sitting around in file scope made a huge difference in CMake's organizational power.
Also, as far as I know it's still the only build system that really integrates well with most IDE's. That's important if you're on a team of Windows devs but you're trying to add non-Windows builds.