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

19 июля 2017 года

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

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

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

  • В генераторы сборочных сценариев для Visual Studio 2010+ добавлена поддержка сборки проектов на языке CUDA (ранее CUDA поддерживался только генераторами Makefile и Ninja);
  • CMake теперь учитывает особенности стандартов Си/Си++ и связанные с ними мета-функции для компиляторов, вызываемых при указании идентификаторов «Cray», «PGI» и «XL»;
  • Представлен модуль «CheckIPOSupported», предназначенный для проверки обеспечения поддержки в инструментарии межпроцедурных оптимизаций (IPO). IPO поддерживаются для компиляторов GCC и Clang;
  • В генераторе для Visual Studio 14 2015 учтены изменения инструментария

v140, внесённые в очередном обновлении VS 2015. В частности изменён набор значений для настройки GenerateDebugInformation, используемой при включении отладочного режима (-DEBUG) в компоновщике;

  • В генераторы для Visual Studio 2010+ добавлена поддержка языка «ASM_NASM», включаемая при установке «nasm»;
  • В генераторе «Xcode» появилась поддержка Xcode 9 и возможность создания схем сборки для Xcode, активируемая через переменную «CMAKE_XCODE_GENERATE_SCHEME»;
  • Команда add_library() с опцией IMPORTED теперь может использоваться для библиотек объектных файлов (Object Libraries). В команду install(TARGETS) добавлена опция OBJECTS” для указания пути для установки библиотек объектных файлов. В команду install(EXPORT) добавлена поддержка экспорта библиотек объектных файлов;
  • Для библиотек объектных файлов реализовано свойство CUDA_PTX_COMPILATION, обеспечивающее компиляцию в файлы .ptx, вместо обычных объектных файлов;
  • Добавлено свойство BUILD_WITH_INSTALL_NAME_DIR и связанная с ним одноимённая переменная для управления включением свойства INSTALL_NAME_DIR для исполняемых файлов в сборочном дереве;
  • Добавлен модуль GoogleTest, предоставляющий средства для использования функции gtest_add_tests(), независимо от модуля FindGTest;
  • Файлы с исходными текстами в зависимых сборках теперь компилируются без ожидания окончания связывания других зависимостей;
  • В команды add_custom_command() и file(GENERATE) добавлена поддержка выражений генератора и свойств TARGET_OBJECTS.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз системы сборки CMake 3.9», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.