My tools told me that the variations go away when both builds run on 1-core-VMs. Builds between 3-core and 4-core VMs also matched once. So it could be some race-condition. Looking at https://rb.zq1.de/other/qt6-webengine/provenance.dot.svg there are 2 qdoc runs triggered by cmake --build build -j $N -t docs https://rb.zq1.de/other/qt6-webengine/ also has the raw strace output so you could check which other files were read or written by qdoc. Maybe it kept some shared cache.