04.07.2022

Релиз системы сборки 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+.

Источник.