В начале августа 2025 года состоялся релиз открытого проекта сборочной системы CMake 4.1.0. Решение является альтернативой Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Исходный код CMake написан на языке C++ и опубликован на GitHub под лицензией BSD. Версия CMake 3.0.0 вышла в декабре 2018 года. Релиз CMake 4.0.0 случился в марте 2025 года.
Сборки CMake 4.1.0 доступны для Unix/Linux, macOS, Windows и SunOS.
Проект CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, поддержкой кеширования, наличием инструментов для кросс‑компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake‑gui для интерактивной настройки параметров сборки.
По информации OpenNET, основные изменения и дополнения в CMake 4.1.0:
в 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.
Источник: habr.com