Представлен релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.7, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.
CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, минимальным числом зависимостей (нет привязки к M4, Perl или Python), поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки.
Основные улучшения:
Поддержка кросскомпилирования для платформы Android;
В генератор сценариев для сборочной системы Ninja добавлена поддержка языка Фортран;
В команду "if()" добавлена поддержка дополнительных операций сравнения "LESS_EQUAL", "GREATER_EQUAL", "STRLESS_EQUAL", "STRGREATER_EQUAL", "VERSION_LESS_EQUAL", и "VERSION_GREATER_EQUAL";
В команде "try_compile()" при оценке сигнатуры файла в сгенерированном тестовом проекте теперь учитываются флаги конфигурации, такие как "CMAKE_LANG_FLAGS_DEBUG" (ранее использовались только флаги по умолчанию);
Файлы инструментария теперь могут выставлять переменные окружения "CMAKE_EXE_LINKER_FLAGS_INIT", "CMAKE_SHARED_LINKER_FLAGS_INIT" и "CMAKE_MODULE_LINKER_FLAGS_INIT" для инициализации в кэше элементов "CMAKE_EXE_LINKER_FLAGS", "CMAKE_SHARED_LINKER_FLAGS" и "CMAKE_MODULE_LINKER_FLAGS" при первой активации языка;
В CTest добавлены свойства "FIXTURES_SETUP", "FIXTURES_CLEANUP" и "FIXTURES_REQUIRED";
Прекращено распространение с сайта проекта исполняемых файлов CMake для архитектуры i386 Linux;
Из поставки удалены файлы "cmake-indent.vim", "cmake-syntax.vim", и "cmake-help.vim", вместо которых рекомендуется использовать сценарии от проекта vim-cmake-syntax;
Прекращена поддержка самосборки CMake на системах с компиляторами Visual Studio 7.1, Visual Studio2005 и MinGW.org mingw32 (следует использовать Visual Studio 2008, MSYS2 mingw32 и mingw64). Поддержка данных компиляторов для формирования сценариев сборки в других проектах сохранена.
|