Release of CMake build system 3.18

Introduced the release of the cross-platform open source build script generator CMake 3.18, 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 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:

  • For CUDA language, the ability to build using Clang on non-Windows platforms has been provided. Separate CUDA compilation is not yet supported on any platform.
  • Support has been added for profiling CMake scripts using the "—profiling-output" and "—profiling-format" options.
  • The add_library() and add_executable() commands have been enhanced to support the creation of alias targets that refer to non-global imported targets.
  • A new cmake_language() command has been added for meta-operations on scripted or built-in commands.
  • A new subcommand file(CONFIGURE) has been added, which is functionally similar to the configure_file() command, but passes content as a string rather than a file reference.
  • The find_program(), find_library(), find_path(), and find_file() commands have been updated to include a REQUIRED option, which instructs to stop processing with an error if nothing was found.
  • A new variable "CMAKE_CUDA_ARCHITECTURES" has been introduced to specify the CUDA architecture (automatically set if the variable "CMAKE_CUDA_COMPILER_ID" is set to "NVIDIA").
  • The property "UNITY_BUILD_MODE" has been added to select the algorithm for grouping included source files in generators (BATCH, GROUP).
  • The CheckLinkerFlag module has been added to validate linker flags.
  • Generator expressions $, $, $, and $ have been added.
  • The ctest utility has a new variable CTEST_RESOURCE_SPEC_FILE for specifying the resource specification file.

Source: opennet.ru

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