Релиз системы сборки CMake 3.14

Состоялся релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.14, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.

CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, минимальным числом зависимостей (нет привязки к M4, Perl или Python), поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки.

Основные улучшения:

  • Добавлена поддержка кросс-компиляции для iOS, tvOS и watchOS с использованием простых файлов toolchain;
  • Добавлен экспериментальный генератор сборочных сценариев для Visual Studio 16 2019 (протестирован в Visual Studio 2019 Preview 4). Новый генератор сильно отличается от генераторов для других версий Visual Studio и не поддерживает указание целевой платформы в имени генератора (платформа передаётся только через переменную окружения CMAKE_GENERATOR_PLATFORM). Целевая платформа по умолчанию выбирается на основании платформы текущего окружения (хост-платформы);
  • В генератор «Green Hills MULTI» добавлена поддержка библиотек объектных файлов (Object Library), возможность переименования целевых платформ и изменения свойств вывода;
  • Добавлены переменные «CMAKE_BUILD_RPATH_USE_ORIGIN» и «BUILD_RPATH_USE_ORIGIN», позволяющие использовать относительные пути для runtime (RPATH), что полезно для организации повторяемых сборок;
  • В команду «install(TARGETS)» добавлена возможность определения каталогов для установки по умолчанию в зависимости от типа целевых платформ, без использования переменной DESTINATION. В команды «install(FILES)» и «install(DIRECTORY)» добавлены новые параметры для установки в привязке к типу файлов. Данные о каталогах основываются на переменных, выставляемых модулем GNUInstallDirs, и встроенных значений по молчанию;
  • В команды «install(CODE)» и «install(SCRIPT)» добавлена поддержка выражений генератора;
  • В команду «if()» добавлена возможность проверки переменных из кэша, определённых при помощи выражения «DEFINED CACHE{VAR}»;
  • В сборочный режим «cmake —build» добавлена поддержка опций «—verbose» и
    «-v». В команду «cmake -E compare_files» добавлена опция «—ignore-eol» для игнорирования маркеров конца строки (LF или CRLF) при сравнении;

  • Прекращена поддержка запуска CMake в Windows XP и Windows Vista, для работы на платформе Windows теперь требуется как минимум Windows 7.

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.