Выпуск системы сборки CMake 3.7

Представлен релиз кроссплатформенного открытого генератора сценариев сборки 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). Поддержка данных компиляторов для формирования сценариев сборки в других проектах сохранена.

© OpenNet