CMAKE 4.1.0 Assembly System Released

The release of the open-source build system generator CMake 4.1.0, acting as an alternative to Autotools and used in projects such as KDE, LLVM/Clang, MySQL, Mariadb, Reactos, and Blender. CMake code is written in C++ and is distributed under the license BSD. (Source: cmake.org)

CMake is notable for its simple language of build scripts, the ability to extend functionality through modules, support for caching, tools for cross-compilation, generation of build files for various build systems, utilities for testing scenarios like CTest and CPack, and the CMake GUI tool for interactive configuration of build parameters.

The main changes in CMake 4.1.0 include:

  • In cmake-configure-log, events are now displayed from commands like find_package, find_path(), find_File(), find_LIBRARY(), and find_PROGRAM() on the first call and when the result changes from “not found” to “found”. (Source: cmake.org)
  • The Import and populate subcommands now work with dependencies using PKG-Config.
  • A new variable CMAKE_FIND_REQUIRED has been added to set the REQUIRED mode in FIND_PACKAGE commands, find_path(), find_File(), find_library(), and find_PROGRAM(). To ignore the variable’s value, use the keyword Optional.
  • The FindBLAS and FindLAPACK modules now support NVIDIA Performance Libraries (NVPL). Support for “^” in regular expressions for String (Regex Replace) and List (Transform Replace).
  • The Target_PROPERTY generator expression now includes properties for Link_Libraries and Interface_Link_Libraries.
/Reports, release notes, official announcements.