a cross-platform open script generator for builds , serving as an alternative to Autotools and used in projects like KDE, LLVM/Clang, MySQL, MariaDB, ReactOS, and Blender. The CMake code is written in C++ and is distributed under the BSD license.
A CMake kiemelkedő a könnyen használható scripting nyelvével, a funkcionalitás kiterjesztésének lehetőségével modulokon keresztül, minimális függőségekkel (nincsenek M4, Perl vagy Python függőségek), cache támogatással, cross-compiling eszközökkel, széles spektrumú build rendszerek és fordítók számára készült build fájlok generálásával, valamint a ctest és cpack eszközök biztosításával, amelyek a tesztelő és csomagoló script meghatározására szolgálnak, továbbá a cmake-gui eszközzel, amely interaktív módon teszi lehetővé a build paraméterek beállítását.
Fő :
- Support for building with Clang on platforms other than Windows has been introduced for the CUDA language. Separate compilation of CUDA is not yet supported on any platform.
- Support for profiling CMake scripts has been added using the options ‘—profiling-output’ and ‘—profiling-format’.
- The add_library() and add_executable() commands now support creating alias targets that reference non-global imported targets.
- The cmake_language() command has been added for meta-operations on scripted or built-in commands.
- The file(CONFIGURE) subcommand has been added, similar in function to the configure_file() command, but passing content as a string instead of a file reference.
- The find_program(), find_library(), find_path(), and find_file() commands now have a REQUIRED option that forces processing to stop with an error if nothing was found.
- The ‘CMAKE_CUDA_ARCHITECTURES’ variable has been added to specify the CUDA architecture (automatically set if the ‘CMAKE_CUDA_COMPILER_ID’ variable is ‘NVIDIA’).
- The ‘UNITY_BUILD_MODE’ property has been added to choose 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 CTEST_RESOURCE_SPEC_FILE variable for specifying a resource specification file.
Forrás: opennet.ru
