Представлен релиз кроссплатформенного открытого генератора сценариев сборки CMake 4.1.0, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.
CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки.
Основные изменения:
- В cmake-configure-log обеспечен вывод событий из команд
find_package(), find_path(), find_file(), find_library() и find_program() при их первом вызове, когда результат меняет статус с «не найден» на «найден». - В команду cmake_pkg_config() добавлена поддержка подкоманд IMPORT и POPULATE для работы с зависимостями на базе pkg-config.
- Добавлена переменная CMAKE_FIND_REQUIRED, выставляющая режим REQUIRED в командах find_package(), find_path(), find_file(), find_library() и find_program(). Для игнорирования значения переменной в командах может применяться ключевое слово OPTIONAL.
- В модулях FindBLAS и FindLAPACK реализована поддержка NVPL (NVIDIA
Performance Libraries). - В операциях string(REGEX MATCHALL), string(REGEX REPLACE) и
list(TRANSFORM REPLACE) реализована поддержка метки начала («^») в регулярных выражениях. - Выражение генератора TARGET_PROPERTY теперь охватывает свойства LINK_LIBRARIES и INTERFACE_LINK_LIBRARIES.
Источник: http://www.opennet.ru/opennews/art.shtml?num=63713