Clang's been able to read the textual format for a long time, and
indeed that's what's used in the SDK. This isn't even really a
performance win because the information is cached in PCMs.
rdar://problem/34293901
The problem here is that there isn't an obvious way to force a CMake
reconfiguration when you need to add new apinotes. This dates back to
when we (internally) had the apinotes in a separate repo, but that
hasn't been the case for a long time.
We're still not using a /normal/ CMake add_subdirectory for these
because we compile the apinotes as part of building overlays for
frameworks that have both overlays and apinotes, and I didn't want to
touch any of that stuff right now.