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. См. руководство cmake-cxxmodules(7) для получения более подробной информации о поддержке модулей C++.
Поведение OLD для этой политики заключается в предположении, что исходные файлы 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.29/policy/CMP0155.html