The release of the cross-platform open-source build script generator CMake 3.28 has been published, serving as an alternative to Autotools and used in projects such as KDE, LLVM/Clang, MySQL, MariaDB, ReactOS, and Blender. CMake is notable for providing a simple scripting language, functionality extension through modules, caching support, tools for cross-compilation, support for generating build files for a wide range of build systems and compilers, and the inclusion of ctest and cpack utilities for defining testing scripts and packaging builds, along with the cmake-gui utility for interactive configuration of build parameters. The CMake code is written in C++ and is distributed under the BSD license.
Key Improvements:
- Support for modules defined in the C++ 20 specification has been added to the build script generators for Visual Studio and Ninja. Module support is available with LLVM/Clang 16, GCC 14-dev, or MSVC 14.34.
- Compilation capabilities for NVIDIA GPUs using HIP code with the NVCC (NVIDIA CUDA Compiler) have been implemented. The CMAKE_HIP_PLATFORM variable has been added to select the GPU platform for HIP ('amd' or 'nvidia').
- Support for '.xcframework' directories has been provided on Apple platforms.
- The 'exec_program()' command, declared deprecated in version 3.0, has been removed. Use the 'execute_process()' command to run processes.
- Files generated using the 'FILE_SET' mode are now treated by default as private, allowing for the formation of a more efficient build graph in Ninja generators.
- In the find_library(), find_path(), and find_file() commands on Windows, the search in installation directories obtained from the PATH environment variable has been disabled (to unify behavior in Windows with other platforms).
Source: opennet.ru
