Spec-Zone.ru › CMake 3.28

CMP0067

Новое в версии 3.8.

Соблюдение языковых стандартов в try_compile() сигнатуре файла исходного кода.

Сигнатура файла исходного кода try_compile() предназначена для того, чтобы позволить вызывающим сторонам проверить, смогут ли они скомпилировать данный файл исходного кода с текущей инструментальной цепочкой. Для соответствия поведению компилятора любой режим языкового стандарта должен соответствовать. Однако CMake 3.7 и ниже этого не делали. CMake 3.8 и выше предпочитают следовать настройкам языкового стандарта для C, CXX (C++), и CUDA, используя значения переменных:

  • CMAKE_C_STANDARD
  • CMAKE_C_STANDARD_REQUIRED
  • CMAKE_C_EXTENSIONS
  • CMAKE_CXX_STANDARD
  • CMAKE_CXX_STANDARD_REQUIRED
  • CMAKE_CXX_EXTENSIONS
  • CMAKE_CUDA_STANDARD
  • CMAKE_CUDA_STANDARD_REQUIRED
  • CMAKE_CUDA_EXTENSIONS

Данная политика обеспечивает совместимость для проектов, которые не ожидают автоматического использования настроек языкового стандарта.

Поведением этой политики по умолчанию является игнорирование переменных настроек языкового стандарта при генерации проекта try_compile теста. Поведением этой политики по умолчанию является соблюдение переменных настроек языкового стандарта.

Данная политика была введена в CMake версии 3.8. В отличие от большинства политик, CMake версии 3.28.6 по умолчанию не выдает предупреждение, когда эта политика не задана, а просто использует поведение OLD. См. документацию переменной CMAKE_POLICY_WARNING_CMP0067 для управления предупреждением.

Примечание

Поведение по умолчанию политики deprecated by definition и может быть удалено в будущих версиях CMake.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.28/policy/CMP0067.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API