Spec-Zone.ru › CMake

CMP0137

Добавлено в версии 3.24.

try_compile() передаёт переменные платформы в режиме проекта.

Сигнатура try_compile() команды исходного файла передаёт переменные CMake, содержащие настройки платформы, а также переменные, заданные переменной CMAKE_TRY_COMPILE_PLATFORM_VARIABLES, в сгенерированный тестовый проект. Это позволяет тестовому проекту использовать цепочку инструментов так же, как это будет делать вызывающий проект. В CMake 3.23 и более ранних версиях сигнатура всего проекта автоматически не передаёт переменные платформы. В CMake 3.24 и более поздних версиях предпочтительно передавать переменные платформы в сигнатуре всего проекта. Эта политика обеспечивает совместимость с проектами, которые ещё не были обновлены для учёта такого поведения.

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

Независимо от настройки политики, переменная CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES может быть задана, чтобы запретить передачу переменных платформы в обеих сигнатурах.

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

Примечание

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

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

Spec-Zone.ru

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