Состоялся (https://blog.kitware.com/cmake-3-9-0-available-for-download/) релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.9 (http://www.cmake.org/), выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, минимальным числом зависимостей (нет привязки к M4, Perl или Python), поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки.
Основные улучшения (https://cmake.org/cmake/help/v3.9/release/3.9.html#new-features):
- В генераторы сборочных сценариев для 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 Librarie). В команду 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.
URL: https://blog.kitware.com/cmake-3-9-0-available-for-download/
Новость: https://www.opennet.ru/opennews/art.shtml?num=46884