27.02.2024

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

Опубликован релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.28, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки. Код CMake написан на языке C++ и распространяется под лицензией BSD.

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

  • В генераторы сборочных сценариев для Visual Studio и Ninja добавлена поддержка модулей, определённых в спецификации C++ 20. Поддержка модулей доступна при наличии LLVM/Clang 16, GCC 14-dev или MSVC 14.34.
  • Реализована возможности компиляции для GPU NVIDIA кода на языке HIP, используя компилятор NVCC (NVIDIA CUDA Compiler). Добавлена переменная CMAKE_HIP_PLATFORM для выбора платформы GPU для HIP («amd» или «nvidia»).
  • На платформах Apple обеспечена поддержка каталогов «.xcframework».
  • Удалена команда «exec_program()», объявленная устаревшей в выпуске 3.0. Для запуска процессов следует использовать команду «execute_process()».
  • Файлы, сгенерированные с использованием режима «FILE_SET«, теперь обрабатываются по умолчанию как приватные, что позволяет формировать более эффективный сборочный граф в генераторах Ninja.
  • В командах find_library(), find_path() и find_file() отключён поиск в установочных каталогах, полученных из переменной окружения PATH.

Источник: https://www.opennet.ru/opennews/art.shtml?num=60267 Источник.