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

Представлен релиз кроссплатформенного открытого генератора сценариев сборки 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+.
Release. Ссылка here.