Релиз системы сборки 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.
© OpenNet