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

Опубликовано: 01.09.2018

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

Using make and writing Makefile ( in C++ or C )

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



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


Compile XMR Stak and change donation level

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

Команда 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; Добавлены новые выражения генератора »$‹GENEX_EVAL: …›»,»$‹TARGET_GENEX_EVAL: target, …›»,»$‹TARGET_EXISTS: …›» и »$‹TARGET_NAME_IF_EXISTS: …›»; В модулях FindCURL, FindALSA, FindLibXml2 и FindJPEG обеспечена установка флагов импортирования; Добавлен модуль FindODBC для поиска библиотеки ODBC (Open Database Connectivity); Добавлены модули FindPython, FindPython3 и FindPython2 для определения наличия окружений для выполнения скриптов на языке Python.

Software Build Automation with Jenkins

rss