Currently I was not able to properly use a shared cache between two machines without them using the exact same source and build folders, which seems quite unnecessary.
Apparently (according to #4 ), there are already some thoughts for how to fix this?
My gut feeling is that since the preprocessed result is what's being hashed (together with the command line flags that affect how the compilation is performed), things like file names (input, output) and include paths should not be important at all, so you should be able to remove them from the hash completely, right? (this includes -I, -o, -MT, -MF, -include etc, plus the source file name)