CMP0155
Новое в версии 3.28.
Исходные файлы C++ в целевых задачах с поддержкой C++20 сканируются на предмет импортов, если это поддерживается.
CMake 3.27 и ниже предполагают, что исходные файлы C++ не import модули. CMake 3.28 и выше предпочитают предположить, что исходные файлы C++ в целевых задачах, использующих C++20 или выше, могут import модули и должны быть просканированы перед компиляцией, если не отключено явно. Данная политика обеспечивает совместимость для проектов, которые используют C++20 или выше, без модулей, которые не были обновлены для отключения сканирования, например, с помощью переменной CMAKE_CXX_SCAN_FOR_MODULES. Подробнее о поддержке модулей C++ см. в руководстве cmake-cxxmodules(7).
По умолчанию для этой политики предполагается, что исходные файлы C++ 20 и новее не импортируют модули. NEW поведение этой политики заключается в предположении, что файлы C++ 20 и новее могут импортировать модули, если компилятор понимает, как сканировать их зависимости, и их нужно просканировать.
Данная политика была введена в CMake версии 3.28. Она может быть установлена с помощью cmake_policy() или cmake_minimum_required(). Если она не установлена, CMake не выдает предупреждений и использует OLD поведение.
Примечание
По умолчанию для данной политики OLD поведение deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.30/policy/CMP0155.html