Distill personal experience, the talk of Daniel Pfeifer - Effective CMake and … (forgot name of speaker, will look it up) into a guideline that provides the smallest possible surface for errors and results in clean, fast execution as well as nice IDE experiences. (use source_groups and target folders for logical groupings, VS already supports it)