Conditional inclusion based on what files are available is the one edge case that doesn't work in direct mode.
I thought that using globs in cmake would make ccache realize the files have changed, but header files are not listed in the command line, so it has no way of knowing. And indeed it caused the shaders to not be compiled in. whoops.
So force it to use the slower mode (running the preprocessor each time to find out what changed). It should still be much faster than not using ccache at all
Conditional inclusion based on what files are available is the one edge case that doesn't work in direct mode.
I thought that using globs in cmake would make ccache realize the files have changed, but header files are not listed in the command line, so it has no way of knowing. And indeed it caused the shaders to not be compiled in. whoops.
So force it to use the slower mode (running the preprocessor each time to find out what changed). It should still be much faster than not using ccache at all