the cmake built in option "BUILD_SHARED_LIBS" has, since about a decade, automatically built shared vs static on an unqualiofied "add_library" call. At the moment we explicitly pass either STATIC or SHARED to every library which is unnecessary. If there are situations where we absolutely require both static and shared builds understood this should remain, but I can't think of what they are. Perhaps just my naive ignorance..
Cheers,
DW