PSA: CMake may eventually drop support for Xcode

If you don’t care about Xcode, you can stop reading now.

I suspect that this doesn’t affect the majority of the LLVM community because most people, even if they are on OSX, are using Ninja. however, I know that Xcode is still used among some circles (particularly lldb), and we still have a lot of external users of LLVM that depend on Xcode. So it’s worth raising the visibility of this since this means LLVM might also have to drop support for Xcode someday and people should be aware.

There has been an ongoing discussion for some time on the CMake bug tracker[1] about how to support Xcode’s new build system (for some context, there are currently two build systems within Xcode, the “new” build system and the legacy build systems). CMake does not currently support the new build system, for reasons which the CMake authors claim are fundamentally unsolvable without changes on Apple’s side to their internal build system. This escalated this morning when Brad King said that unless Apple is willing to make these changes, CMake will probably need to drop support for Xcode if Apple ever removes the legacy build system[2].

To be clear: I don’t expect this to actually happen. Apple has not said (that I’m aware of anyway) that there is a plan to remove the legacy build system. And even if that does eventually happen, Apple and CMake would still very likely come up with a solution. Regardless, it felt like a serious enough escalation that I thought people should be aware.

[1] - https://gitlab.kitware.com/cmake/cmake/-/issues/18088
[2] - https://gitlab.kitware.com/cmake/cmake/-/issues/18088#note_783053