Multiple shared libs, alternative implementations of common interface, *minimal* cmake/c++ example?

This question and its discussion may be of use: