Kitware has published the release of CMake 3.28, an open-source build system generator. CMake is an alternative to Autotools and is widely used in projects such as KDE, LLVM/Clang, MySQL, MariaDB, Reactos, and Blender. It is known for its simple script language, modular functionality, support for cross-compilation, and compatibility with various build systems. CMake is written in C++ and is distributed under the BSD license.
The latest version of CMake, 3.28, brings several improvements. Firstly, the generators for assembly scenarios in Visual Studio and Ninja now support the use of modules defined in the C++20 specification. Module support requires LLVM/Clang 16, GCC 14-Dev, or MSVC 14.34.
Additionally, CMake now has implementation features for NVIDIA GPUs using the hip language and NVCC compiler. A new variable, CMAKE_HIP_Platform, allows users to choose between AMD and NVIDIA GPU platforms for HIP.
On Apple platforms, CMake now supports “xcframework” catalogs.
The outdated “Exec_Program()” command has been removed from CMake. Users are now advised to use the “Execute_Process()” command to start processes.
The latest release also disables the search for files in installation directories obtained from the PATH environment variable in commands such as Find_Library(), find_path(), and find_file().