The release of the cross-platform open build system generator CMake 3.23 has been presented, serving as an alternative to Autotools and used in projects such as KDE, LLVM/Clang, MySQL, MariaDB, ReactOS, and Blender. CMake is written in C++ and distributed under the BSD license.
CMake is notable for providing a straightforward scripting language, extending functionality through modules, supporting caching, offering tools for cross-compilation, generating build files for a wide array of build systems and compilers, and including ctest and cpack utilities for defining testing scripts and package builds, as well as the cmake-gui utility for interactive configuration of build parameters.
Key Improvements:
- An optional field 'include' has been added to the 'cmake-presets' files, allowing for the inclusion of contents from other files on-the-fly.
- Support for .NET SDK csproj files has been added to the build script generators for Visual Studio 2019 and newer versions for projects using C#.
- Support for the IBM Open XL C/C++ compiler, based on LLVM, has been added. The compiler is available under the identifier IBMClang.
- Support for the MCST LCC compiler (developed for Elbrus and SPARC processors (MCST-R)) has been added. The compiler is available under the identifier LCC.
- A new argument 'FILE_SET' has been added to the 'install(TARGETS)' command, which can be used to install a set of header files associated with the selected target platform.
- A 'FILE_SET' mode has been added to the 'target_sources()' command, allowing the addition of a set with a specific type of files, such as header files.
- Support for 'all' and 'all-major' values has been added to the 'CMAKE_CUDA_ARCHITECTURES' variable and the target platform property 'CUDA_ARCHITECTURES' for CUDA toolkit 7.0+.
Source: opennet.ru
