CMAKE 4.0.0 Assembly System Released

Kitware has presented the release of the open-formed opening generator of the assembly scenarios CMake 4.0.0, serving as an alternative to Autotools and used in projects like KDE, LLVM/Clang, MySQL, MariaDB, ReactOS, and Blender. CMake code is written in C++ and is distributed under the BSD license.

CMake is known for providing a simple language of scenarios, the ability to expand functionality through modules, support for caching, tools for cross-compilation, generating assembly files for various systems, CTEST and CPACK for determining test and assembly scenarios, and CMAKE-GUI for interactive configuration of assembly parameters.

The main changes in CMake 4.0.0 include:

  • Terminated compatibility with versions of CMake before 3.5, displaying an error if there are bindings to outdated functionality.
  • Added the environment variable “cmake_policy_version_minimum” to reduce the minimum version of CMake needed for the project.
  • Added the “NATIVE_PATH” operation in generator expressions to transform file paths from CMake representation to system paths.
  • On MacOS, when using Ninja tools and Makefile generators, compilers in the “/usr/bin” directory are left as is without referencing XCode.
  • Introduced Link_warning_as_Error property to interpret warmer warnings as errors.
  • Added the “-Project-File” option to set an alternative name for CMakeLists.txt.
  • Added the ability to create flat TAR archives in CPack generator.
/Reports, release notes, official announcements.