Релиз системы сборки CMake 3.9
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.
Источник: http://www.opennet.ru/opennews/art.shtml?num=46884
|
0 | Tweet | Нравится |
|