I resolved same issue by changing structure to something like this:
- Remove subproject A from B;
- Move subproject A upper than B in target depedencies of project C;
- Add path to subproject A to headers search path of subproject B, if not added previosly.
It works because static library doesn't need to be linked with depedencies, before linking main binary. Only headers needed to build.