Как стать автором
Обновить

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

Время на прочтение2 мин
Количество просмотров2.8K

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.

Теги:
Хабы:
+7
Комментарии6

Другие новости

Истории

Работа

Ближайшие события

4 – 5 апреля
Геймтон «DatsCity»
Онлайн
8 апреля
Конференция TEAMLY WORK MANAGEMENT 2025
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область