Fa'ailoa fa'amatu'u atu ose fa'alavalava fa'alava matala fau fau tusitusiga generator CMfaia 3.17, lea e fai ma sui i Autotools ma faʻaaogaina i galuega faatino e pei o KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ma Blender. O le code CMake o loʻo tusia i le C ++ ma tufatufaina i lalo ole laisene BSD.
E iloga le CMake mo le tuʻuina atu o se gagana tusitusi faigofie, o se auala e faʻalauteleina ai galuega e ala i modules, se numera laʻititi o faʻalagolago (leai se faʻalagolago i le M4, Perl poʻo le Python), lagolago faʻapipiʻi, le i ai o meafaigaluega mo le tuʻufaʻatasia, lagolago mo le fausiaina o fale. faila mo le tele o faiga faufale ma tu'ufa'atasiga, o le iai ctest ma cpack aoga mo le fa'amalamalamaina o tusitusiga su'ega ma afifi fale, cmake-gui aoga mo feso'ota'iga fa'atulagaina o fa'amaufa'ailoga.
Добавлен новый генератор сборочных сценариев на базе инструментария Ninja — «Ninja Multi-Config», отличающийся от старого генератора возможностью обработки за раз сразу нескольких сборочных конфигураций.
В генераторе сборочных сценариев для Visual Studio faaali mai возможность определения файлов с исходными текстами, привязанных к каждой конфигурации (per-config sources).
В средства для настройки параметров компилятора (Compile Features) добавлена возможность задания мета-параметров для CUDA («cuda_std_03», «cuda_std_14» и т.п).
Добавлены переменные «CMAKE_CUDA_RUNTIME_LIBRARY» и «CUDA_RUNTIME_LIBRARY» для выбора типа runtime-библиотек при использовании CUDA.
Добавлен модуль «FindCUDAToolkit» для определения доступного в системе инструментария CUDA без включения языка CUDA.
В утилиту cmake добавлена команда «—debug-find» для вывода дополнительной читаемой диагностики при выполнении операций поиска. Для аналогичных целей добавлена переменная CMAKE_FIND_DEBUG_MODE.
В модуль «FindCURL» добавлена поддержка поиска инструментария CURL при помощи генерируемых cmake файлов конфигурации «CURLConfig.cmake». Для отключения указанного поведения предусмотрена переменная CURL_NO_CURL_CMAKE.
В модуль FindPython добавлена возможность поиска компонентов Python в виртуальных окружениях, управляемых при помощи «conda».
В утилиту ctest добавлены опции «—no-tests=[error|ignore]» для определения поведения в случае отсутствия тестов и «—repeat» для задания условий повторного запуска тестов (until-pass, after-timeout).
Обеспечен перенос свойств сборочной цели INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES и INTERFACE_LINK_DEPENDS в числе внутренних зависимостей статически собираемых библиотек.
При использовании инструментария MinGW по умолчанию отключён поиск DLL-файлов командой find_library (вместо этого по умолчанию осуществляется попытка импортирования библиотек «.dll.a»).
Логика выбора утилиты ninja в генераторе Ninja теперь не зависит от названия исполняемого файла — используется первая попавшаяся утилита ninja-build, ninja или samu, найденная в путях, определённых через переменную окружения PATH.
В утилиту cmake добавлена команда «-E rm», которую можно использовать для удаления файлов и каталогов вместо раздельных команд «-E remove» и «-E remove_directory».