6 декабря состоялся выпуск 3.28 кроссплатформенной системы сборки CMake, написанной на языке C++ и распространяемой по лицензии BSD-3.
Список основных изменений:
- улучшена поддержка модулей C++20 в генераторах
NinjaиVisual Studio(VS 2022 и новее). Подробности вcmake-cxxmodules(7); - код языка
HIPдля GPU NVIDIA теперь может быть скомпилирован компиляторомnvcc(NVIDIA CUDA Compiler). Подробности в описании переменнойCMAKE_HIP_PLATFORM; - удалена команда
exec_program(), признанная устаревшей вCMake 3.0. Вместо неё следует использоватьexecute_process(); - сгенерированные файлы в целях, использующих наборы файлов, теперь по умолчанию считаются приватными. Генерируемые публичные заголовочные файлы должны быть указаны с помощью наборов файлов. Это позволяет создавать более эффективные графы сборки для Ninja. Подробности в политике
CMP0154; - команды
find_library(),find_path()иfind_file()больше не ищут в префиксах установки, полученных из переменной окруженияPATH. Это поведение было добавлено в CMake 3.3 для поддержки сред разработки MSYS и MinGW («MSYSTEM») в Windows и могло искать нежелательные префиксы, которые случайно оказались вPATHпо каким-либо причинам. - добавлена поддержка директорий
.xcframeworkдля платформ Apple.








