

It just now occurred to me that CMake isn’t so much of a build tool as it is a homegrown framework for making homegrown build tools. Sincerely, have you spent much time with other languages? Very few require so much from the user. well, it's probably doable, with some work, but I expect there's just not the demand, I expect because most people are like me and would prefer to list their source files out by hand so they know where they stand. To support this properly, cmake would need to re-run on every build to regenerate the files list. > Listing source files individually is what you're supposed to do, because not all build tools support globbing for files. (If you're able to switch to Ninja, that comes recommended.) They are rather larger than most Makefiles.

One target per test, select it as the startup project, and off you go.)Īs for makefiles, I haven't noticed CMake's being noticeably slower than any others I've seen, though I'm sure it's possible. (It's also very convenient for running tests in the debugger. You do tend to end up with a lot of projects in one solution this way, which is something most people don't do when setting projects up by hand - but with CMake picking up the strain there's no reason not to. The Visual Studio projects it creates, at least for my projects, have a VS project per target. Listing source files individually is what you're supposed to do, because not all build tools support globbing for files.
