Представлен релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.23, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.
CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки.
Основные улучшения:
- В файлы “cmake-presets” добавлено необязательное поле “include”, при помощи которого можно подставлять по месту содержимое других файлов.
- В генераторы сборочных сценариев для Visual Studio 2019 и более новых версий добавлена поддержка csproj-файлов .NET SDK для проектов на языке C#.
- Добавлена поддержка компилятора IBM Open XL C/C++, основанного на LLVM. Компилятор доступен под идентификатором IBMClang.
- Добавлена поддержка компилятора MCST LCC. Компилятор доступен под идентификатором LCC.
- В команду “install(TARGETS)” добавлен новый аргумент “FILE_SET”, который можно использовать для установки набора заголовочных файлов, связанного с выбранной целевой платформой.
- В команду “target_sources()” добавлен режим “FILE_SET“, при помощи которого можно добавить набор c определённым типом файлов с кодом, например, с заголовочными файлами.
- В переменную “CMAKE_CUDA_ARCHITECTURES” и свойство целевой платформы “CUDA_ARCHITECTURES” добавлена поддержка значений “all” и “all-major” для CUDA toolkit 7.0+.