cmake 4.2.0 +cpp modules / import std fix
От: Великий Мессия google
Дата: 20.11.25 21:50
Оценка: 16 (2)
вышла новая версия cmake 4.2.0
https://discourse.cmake.org/t/cmake-4-2-0-available-for-download/15333
с исправлением для модулей что бы можно было использовать
import std;

The “CMAKE_CXX_STDLIB_MODULES_JSON” variable was added to set the
path to the “import std” metadata file for the standard library
rather than using the compiler to discover its location.


проблема была в том что зоопарк линукс пакетов
собирали gcc по разному
и файл метаданных необходимый для подключения import std
был в разных локациях линукс фс


так же проблемы была при использовании
clang под виндовс с msvc stl
поскольку для clang была поддержка только кланговского stl
и он не находил файл метаданных с msvc stl

проверил, это не пофиксили
upd
оказывается проблема более глобальная
у каждого компиля свой формат json метаданных
и если clang/gcc еще кое как сходятся
то у msvc свой
поэтому cmake разрабы играются со своим парсером и пытаются стандартизировать формат метаданных
https://gitlab.kitware.com/cmake/cmake/-/merge_requests/11422
https://github.com/ecostd/rfcs/pull/3
upd2
пофиксил для cmake 4.2.0 что бы работал clang под виндовс c import std;


следующая версия cmake 4.3.0 зарелизится не ранее февраля 2026
Отредактировано 21.11.2025 4:34 Великий Мессия . Предыдущая версия . Еще …
Отредактировано 21.11.2025 4:33 Великий Мессия . Предыдущая версия .
Отредактировано 21.11.2025 4:31 Великий Мессия . Предыдущая версия .
Отредактировано 21.11.2025 1:13 Великий Мессия . Предыдущая версия .
Отредактировано 21.11.2025 0:35 Великий Мессия . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.