Новости и события » Hi-Tech » Релиз системы сборки CMake 3.12

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

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

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

  • Команда target_link_libraries теперь может использоваться для библиотек объектных файлов (Object Libraries);
  • В команды file(GLOB) и file(GLOB_RECURSE) добавлен флаг CONFIGURE_DEPENDS, которые позволяет обрабатывать зависимости системы сборки в процессе перебора содержимого каталогов;
  • Средства для настройки параметров компилятора (Compile Features) теперь учитывают особенности стандарта C++ 20, но набор мета-флагов "cxx_std_20" пока остается пустым;
  • В генераторы для Visual Studio 2017 в CMAKE_GENERATOR_TOOLSET добавлена поддержка опции "version=14." для явного выбора версии инструментария;
  • В режим сборки (cmake --build) добавлена опция "--parallel [jobs]" ("-j [jobs]") для определения числа параллельно запускаемых сборочных процессов;
  • Добавлена команда add_compile_definitions для указания конструкций препроцессора, применяемых для текущего уровня иерархии каталогов;
  • В команды cmake_minimum_required и cmake_policy(VERSION) добавлена возможность указания диапазонов версий в форме "min...max";
  • В команде find_package обеспечена поддержка поиска префикса, указанного в параметре или переменной окружения PackageName_ROOT;
  • Добавлены новые выражения генератора "$&8249;GENEX_EVAL:...&8250;", "$&8249;TARGET_GENEX_EVAL:target,...&8250;", "$&8249;TARGET_EXISTS:...&8250;" и "$&8249;TARGET_NAME_IF_EXISTS:...&8250;";
  • В модулях FindCURL, FindALSA, FindLibXml2 и FindJPEG обеспечена установка флагов импортирования;
  • Добавлен модуль FindODBC для поиска библиотеки ODBC (Open Database Connectivity);
  • Добавлены модули FindPython, FindPython3 и FindPython2 для определения наличия окружений для выполнения скриптов на языке Python.

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх