Spec-Zone.ru › CMake

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

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

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

Эта политика была введена в версии CMake 3.8. Её можно задать с помощью cmake_policy() или cmake_minimum_required(). Если она не задана, CMake по умолчанию не выдаёт предупреждение и использует поведение OLD.

См. документацию переменной CMAKE_POLICY_WARNING_CMP0067, управляющей предупреждением.

Примечание

Поведение OLD политики по определению устарело и может быть удалено в будущей версии CMake.

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

Spec-Zone.ru

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