Kitware has released version 3.27.0 of CMake, an open-source build generator used in projects like KDE, LLVM/Clang, MySQL, MariaDB, ReactOS, and Blender. CMake provides a simple script language, support for expanding functionality through modules, caching, tools for cross-compilation, generation of assembly files for various systems, CTest and CPack for testing and packaging, and the CMake-GUI utility for interactive parameter settings. The CMake code is written in C++ and is distributed under the BSD license. The release can be found here.
The main improvements in this release include:
- An interactive debugger for the script language, accessed using the “–debugger” option, has been integrated into the CMake utility.
- A new “Skip_Linting” property has been implemented, allowing the disabling of code checks for specific source files.
- The “–compile_only” flag has been added for generators, enabling compilation without dynamic binding.
- For generators of assembly scenarios for Visual Studio 2015 and newer versions, support for the “Version =” field has been added to the “cmake_generator_platform” variable. This allows for the selection of a specific Windows SDK version.
- For separate libraries built for the MacOS platform, the ability to create TBD-BASED Definitions with library data has been implemented.
- Components that are considered outdated and incompatible with CMake versions older than 3.5 will be removed in the future.
- The deprecated “Findcuda” module, which was declared outdated in CMake 3.10, has been removed. Projects should now use the built-in CUDA support provided by CMake.
- The deprecated “Findpythoninterp” and “Findpythonlibs” modules, which were declared outdated in the release of CMake 3.12, should be replaced with “Findpython3”, “Findpython2” or “Findpython” modules.
- When executing the “CMAKE -BUILD $DIR –VERBOSE” command, the working directory and command line options used for the build are now displayed.
In addition, the release also highlights the
/Reports, release notes, official announcements.