CMP0067
Новое в версии 3.8.
Учитывать стандарт языка в try_compile() сигнатуре файла исходного кода.
Сигнатура файла исходного кода try_compile() предназначена для того, чтобы позволить вызывающим функциям проверить, смогут ли они скомпилировать данный файл исходного кода с текущей цепочкой инструментов. Для соответствия поведению компилятора, любой режим стандарта языка должен совпадать. Однако CMake 3.7 и ниже этого не делали. CMake 3.8 и выше предпочитают учитывать настройки стандарта языка для C, CXX (C++), и CUDA, используя значения переменных:
CMAKE_C_STANDARDCMAKE_C_STANDARD_REQUIREDCMAKE_C_EXTENSIONSCMAKE_CXX_STANDARDCMAKE_CXX_STANDARD_REQUIREDCMAKE_CXX_EXTENSIONSCMAKE_CUDA_STANDARDCMAKE_CUDA_STANDARD_REQUIREDCMAKE_CUDA_EXTENSIONS
Данная политика обеспечивает совместимость для проектов, которые не ожидают автоматического использования настроек стандарта языка.
Поведением этой политики OLD является игнорирование переменных настроек стандарта языка при генерации тестового проекта try_compile. Поведением этой политики NEW является учет переменных настроек стандарта языка.
Данная политика была введена в CMake версии 3.8. Она может быть установлена с помощью cmake_policy() или cmake_minimum_required(). Если она не установлена, CMake по умолчанию не выводит предупреждение и использует поведение OLD.
См. документацию переменной CMAKE_POLICY_WARNING_CMP0067 для управления предупреждением.
Примечание
Поведение 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/CMP0067.html