Релиз сборочной системы CMake 4.0.0

от автора

28 марта 2025 года состоялся релиз открытого проекта сборочной системы CMake 4.0.0. Решение является альтернативой Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Исходный код CMake написан на языке C++ и опубликован на GitHub под лицензией BSD. Версия CMake 3.0.0 вышла в декабре 2018 года.

Сборки CMake 4.0.0 доступны для Unix/Linux, macOS, Windows и SunOS.

По информации OpenNET, проект CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, поддержкой кеширования, наличием инструментов для кросс‑компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake‑gui для интерактивной настройки параметров сборки.

Основные изменения и дополнения в CMake 4.0.0:

  • прекращена совместимость с версиями CMake до выпуска 3.5. При привязке к неподдерживаемым версиям в функциях cmake_minimum_required() и cmake_policy() теперь будет выводиться ошибка;

  • добавлена переменная окружения «CMAKE_POLICY_VERSION_MINIMUM» для переопределения минимальной версии CMake, функциональность которой необходима для сборки проекта. Добавленная переменная позволяет обойтись без изменения вызовов cmake_minimum_required(VERSION) и cmake_policy(VERSION) в самом проекте, например, для настройки политики версий в проектах, не предусматривающих такую возможность;

  • в выражение генератора «$<PATH>» добавлена операция «NATIVE_PATH» для преобразования файлового пути из представления CMake (для разделения каталогов всегда используется «/»), в системный путь (в Unix‑подобных системах используется «/», а в Windows — «\»);

  • на платформе macOS при использовании генераторов сборочных сценариев на базе инструментария Ninja и генераторов Makefile, если в каталоге «/usr/bin» присутствует компилятор, то он отныне оставляется как есть, без привязки к компилятору в Xcode. При сборке для платформы macOS по умолчанию прекращён выбор SDK и передача компилятору флага «‑isysroot» (SDK теперь выбирает сам компилятор, а не CMake);

  • добавлено свойство LINK_WARNING_AS_ERROR, при котором предупреждения компоновщика будут трактоваться как ошибки. Для отключения действия данного свойства добавлена опция командной строки «‑link‑no‑warning‑as‑error»;

  • в утилиту cmake добавлена опция «‑project‑file» для задания альтернативного имени файла CMakeLists.txt;

  • в генератор CPack добавлена возможность создания несжатых tar‑архивов;

  • добавлены новые свойства: DEBUGGER_WORKING_DIRECTORY и VS_SOLUTION_ITEMS (для прикрепления файлов к.sln для Visual Studio);

  • обеспечено формирование готовых сборок CMake для SunOS для архитектур sparc64 и x86_64.


ссылка на оригинал статьи https://habr.com/ru/articles/895612/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *