CMAKE 3.27.0 and Meson 1.2 Released

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.