3 ms·
IMO Cmake's "killer app" is that it will generate projects for Visual Studio and Xcode, which allows you to get access to the Windows/Mac specific tooling that
by ndiddy 3y ago
IMO Cmake's "killer app" is that it will generate projects for Visual Studio and Xcode, which allows you to get access to the Windows/Mac specific tooling that those products offer. It's also a LOT faster on Windows than Autotools because of how NTFS performs poorly when dealing with writing a ton of small files. I agree that its syntax is ugly but once I got beyond that I found it fairly simple to work with. The most annoying part was figuring out which MSVC flags corresponded with the GCC flags I use.
Out of curiosity, what does your C++ development workflow look like? Do you stick to using a text editor rather than an IDE?
- cout 3y agoHonestly I think cmake got a foothold early on because it had color.
- kergonath 3y agoIt also hides stuff so users look at simple, colourful lines with progress indicators instead of naked, overwhelming calls to the compiler. That said, as a user I prefer autoconf. The semantics of --with-foo or --enable-bar are simple and well documented. And ./configure --help shows all the possibilities. Faffing around with -DCMAKE_STUFF is horrible. Ccmake should be nice but in practice never works properly. As a developer, both autoconf and cmake are horrifying and a huge time sink to get them to behave.
- dima55 3y agoRather than the "killer app", that's the only thing that cmake does better than other systems, and the only reason for anybody to use cmake.
- professoretc 3y agoIt's kind of weird that these days, many (most?) projects use Cmake directly as their build tool. They don't generate a VC or Xcode project and then work from that; they generate a VC project and then immediately build it. The CMakeLists.txt effectively is the project definition. VS now has support for opening CMake projects directly, without creating a VS project file from them. So the thing that made CMake useful (and what also makes it complicated...), is now used less and less.