3 ms·
> It still has its own totally esoteric custom language, it still discourages globbing source files and requires re-running upon adding any file We use cmake,
by stkdump 4y ago
> It still has its own totally esoteric custom language, it still discourages globbing source files and requires re-running upon adding any file
We use cmake, with Windows as our main (but not the only) target platform. We found that not globbing is slow and impractical for us.
1. We generate VS project files, which then guides the build process. When you add source files using the IDE, the generated project(s) will be updated, no regenerate is triggered, the build system will do the correct thing: only the added file, not everything is (re-)built.
2. If we didn't glob, then given the nice local workflow above, people would often forget to update the cmake files and get CI failures.
3. When injecting cmake regeneration into the build process, then for some strange reason we found a bad serialization of build steps, which slows everything down.
4. The slow part on Windows seems to be that cmake has to use some system call to figure out if source file name casing is correct, which is very slow (for us the slowest part of the generation process by far). I don't recall the details here, but I think globbing somewhat reduces this issue.
All in all, I can say: figure out what works best for you and don't trust experts that discourage globbing altogether.