Release of CMake Build System 3.22

The release of the cross-platform open build script generator CMake 3.22 has been presented, serving as an alternative to Autotools and used in projects such as KDE, LLVM/Clang, MySQL, MariaDB, ReactOS, and Blender. The CMake code is written in C++ and distributed under the BSD license.

CMake is notable for providing a simple scripting language, functionality extension through modules, minimal dependencies (no coupling with M4, Perl, or Python), caching support, tools for cross-compilation, support for generating build files for a wide range of build systems and compilers, as well as ctest and cpack utilities for defining test scripts and package builds, and a cmake-gui utility for interactive building parameter configuration.

Key Improvements:

  • The compiler settings tool (Compile Features) now allows enabling and disabling compiler extensions without specifying the standard support level, as well as avoiding the setting of unnecessary flags with the language standard level if the selected settings adhere to the default compiler parameters.
  • The cmake_host_system_information() command has been enhanced to query the operating system identifier stored in the /etc/os-release file.
  • Environment variables CMAKE_BUILD_TYPE and CMAKE_CONFIGURATION_TYPES have been added, allowing you to set the default value for the corresponding CMake variables.
  • The variable "CMAKE_REQUIRE_FIND_PACKAGE_" has been added, making the call to the find_package() function for locating the specified package mandatory.
  • The environment variable "CMAKE_INSTALL_MODE" has been added for setting symbolic links instead of copying files when calling "install()".
  • The flag "CMAKE__LINK_WHAT_YOU_USE_FLAG" and the variable "CMAKE_LINK_WHAT_YOU_USE_CHECK" have been added for setting and checking linker flags.
  • In the FetchContent module, the previously ignored environment variables "CMAKE_TLS_VERIFY", "CMAKE_TLS_CAINFO", "CMAKE_NETRC", and "CMAKE_NETRC_FILE" are now passed to the build script of external projects.
  • The macro "cmake_dependent_option()" provided by the "CMakeDependentOption" module now has full support for conditional expression syntax.
  • The modules "FindJasper" and "FindMatlab" now provide importable targets.
  • The property "VS_SETTINGS" now supports all types of source files.
  • The generator "Visual Studio 10 2010" has been deprecated and will be removed in one of the upcoming releases.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster