CMake 5.0: One Tool to Build Them All

We are always looking for ways to make CMake easier to use, and the next version will include big changes that greatly improve its usability. We are so confident in this overhaul that we are skipping version 4.0 and going straight to CMake 5.0. It’s safe to say this new version is nothing short of revolutionary!

  • Supporting many different compilers has always been a major challenge, and CMake 5.0 will remedy this situation. Starting with 5.0, we will embed LLVM directly into CMake, and CMake will do all the compilation of your code. Because of this, we will drop support for using external compilers so that we can focus on our internal LLVM support. No more GCC, no more Visual Studio. Having to only support one compiler will greatly simplify development for CMake users.
  • Cross-compiling for other CPU architectures just got much simpler as well. Starting with CMake 5.0, the new built-in LLVM compiler will always compile for x86, but the built executables will include QEMU emulators for every architecture, making it easier than ever to run your code on non-x86 architectures. Write once, run anywhere.
  • We are even simplifying the process of building for multiple operating systems. Starting with 5.0, CMake will only support Linux projects, and ship a copy of Docker and the Linux kernel with every executable, making it very easy to run your code on Windows and macOS without rebuilding it. Never again will your users or developers have to complain about the lack of support for their favorite OS.

We hope that these changes will improve the development experience for CMake users everywhere for years to come. Nevertheless, some bugs may be introduced, and we welcome everyone’s feedback on how we can continue to refine this new system. Thank you, and happy April Fool’s Day.

Questions or comments are always welcome!