This is for older CMakes which don't understand object libraries yet.
We auto-generate a file at the top-level that references all the
global plugin objects. Once they are referenced, the linker includes
them into the final executable and their ctors run to register them
with the plugin manager.
By default this is on. Once we can require more recent CMakes, we can
turn it off (and remove) in src/CMakeLists.txt.