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

18 декабря 2014 года

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

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

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

  • Добавлены генераторы файлов сборки для Visual Studio 14 (2015). В генераторы для Visual Studio 11 (2012) и более новых версий добавлена поддержка платформы Windows Phone и магазина приложений Windows Store. В генераторы для Visual Studio 10 (2010) и более новых версий добавлена поддержка создания проектов для NVIDIA Nsight Tegra Visual Studio Edition;
  • Добавлена команда «target_compile_features», позволяющая заполнить свойство COMPILE_FEATURES для цели сборки по аналогии с другими сборочными переменными. Cmake пользуется данной информацией для того, чтобы убедиться в том, что используемый компилятор способен выполнить сборку цели, и добавить необходимые для сборки флаги для задействования определённых возможностей языка (например, «-std=gnu++11»);
  • Упрощён синтаксис переменных ссылок ( Variable References) и Escape-последовательностей, который позволил задействовать значительно более быструю их реализацию;
  • Оператор «if» отныне автоматически не разыменовывает имена переменных внутри аргументов, заключенных в кавычки или скобки;
  • В свойство цели «SOURCES» добавлена поддержка выражений генератора, которые могут использованы в командах «add_library» и

"add_executable»;

  • Добавлена возможность записи и дополнения свойства цели «SOURCES». Для отслеживания исходного источника может использоваться переменная «CMAKE_DEBUG_TARGET_PROPERTIES»;
  • В CPack добавлена поддержка lzma-архивов с помощью генераторов «7Z» и «TXZ»;
  • В модуль ExternalProject добавлена поддержка архивов, сжатых методом lzma: «.7z», «.tar.xz» и «.txz»;
  • В команду ExternalProject_Add из модуля ExternalProject добавлена поддержка опции BUILD_ALWAYS для инициирования сборки внешнего проекта при каждой сборке базового проекта;
  • В команду ctest_coverage() добавлена поддержка файлов покрытия утилиты codecov от Intel;
  • В команду ctest_memcheck() добавлена поддержка «Sanitizer"-режимов: «AddressSanitizer», «MemorySanitizer», «ThreadSanitizer» и «UndefinedBehaviorSanitizer».

Источники править

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

Комментарии

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