Spec-Zone.ru › CMake 3.24

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.24.2 по умолчанию не предупреждает, если эта политика не установлена, и просто использует OLD поведение. См. документацию переменной CMAKE_POLICY_WARNING_CMP0067 для управления предупреждением.

Примечание

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

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

Spec-Zone.ru

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