OK, turns out pkg-config is smarter than we expected.
1. For dynamically linked downstream targets (shared libraries and executables) Requires.private is ignored because the dynamic linker solves dependencies for you.
2. For statically linked targets, Requires.private is important. However you'll only get access to this private libraries if you remember to refer to MIRSERVER_STATIC_*. That's a mistake in the static library "usc.a"
OK, turns out pkg-config is smarter than we expected.
1. For dynamically linked downstream targets (shared libraries and executables) Requires.private is ignored because the dynamic linker solves dependencies for you.
2. For statically linked targets, Requires.private is important. However you'll only get access to this private libraries if you remember to refer to MIRSERVER_STATIC_*. That's a mistake in the static library "usc.a"