Yes, but Bazel requires an all-in commitment and also tons of work to fit the rest of the world into it.
I don't have a ton of experience in Bazel, but from what I have experienced with Bazel I think it would be more accurate to say that you configure the dependency graph yourself in Bazel. Then Bazel can determine what to build from scratch and what to take from cache
Seems they came up with a way to scale up build toolchains with BuildXL[0]