The rule is now called add_object_library.
Essentially to avoid inconsistency. Either we get object files from all of the entrypoint deps, or from none of them. We cannot get from all of them as CMake might not have seen some of them yet. In case of object library deps though, we are enforcing that they be visible. This is not really a big ask as object libraries are usually helper libraries for a bunch of related functions.
That said, if we move to CMake 3.15, the widely expanded generator support could allow us to simplify and improve the situation here.