4 ms·
> it is cross platform and constructs project files for the build system of your choice. if you have people using visual studio, they can continue to use it as
by professoretc 4y ago
> it is cross platform and constructs project files for the build system of your choice. if you have people using visual studio, they can continue to use it as it will generate project files for the ide, if you have people on unix using make, it generates makefiles, i think it even supports obscure things like jam.
But these days a lot of those systems support CMake natively. E.g., Visual Studio can open CMake-based projects directly, you don't have to generate a VS project file. I'm curious as to how many people still use this capability directly; i.e., how many people use CMake to generate a platform-specific build file and then actually work with that file. I think probably the most common use for CMake is to generate a build file and then immediately build it. To probably 90% of CMake users, it would make no difference if CMake ran all the build commands itself, directly.
- a-dub 4y agoyeah that's a recent thing though. it supports a bunch of customized toolchains, has backwards compatibility for major VS releases over the years (being able to use older compilers can be important for large projects sometimes) and support for generating project files for a handful of IDEs. [1] maybe you're right and the generator support will become less relevant, but when i think of cmake, i think of a build system generator that makes potential cross platform ports easier. support for generating IDE project files for multiple IDEs is a nice feature for developers as well. [1] https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html https://cmake.org/cmake/help/latest/manual/cmake-generators....