The usual cause is a project that contains unrelated files. E.g. project A contains files on which project B depends, and other files that depend on B. Split A into A1 and A2. Move the files on which B depends into A1. Move the files which depend on B into A2. Set the dependency order to A1 <- B <- A2
.
A1 now builds since it has no dependencies on B. B builds since its dependencies are satisfied by A1. A2 builds because its dependencies are satisfied by B.