Spec-Zone.ru › CMake 3.31

CMP0056

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

Учитывать флаги ссылок в try_compile() сигнатуре файла исходного кода.

Команда try_compile() генерирует файл CMakeLists.txt, чтобы скомпилировать исходный файл в исполняемый. Для компиляции исходного кода таким же образом, как это может быть сделано вызывающим проектом, сгенерированный проект устанавливает значение переменной CMAKE_<LANG>_FLAGS в соответствии со значением в вызывающем проекте. В некоторых случаях может потребоваться и значение переменной CMAKE_EXE_LINKER_FLAGS, но CMake 3.1 и ниже не устанавливали его в сгенерированном проекте. CMake 3.2 и выше предпочитают установить его, чтобы флаги линковщика также учитывались, наряду с флагами компилятора. Данный политический выбор обеспечивает совместимость с поведением до версии 3.2.

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

Если код проекта не задаёт политику явно, пользователи могут установить её в командной строке, определив переменную CMAKE_POLICY_DEFAULT_CMP0056 в кэше.

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

См. документацию переменной CMAKE_POLICY_WARNING_CMP0056, чтобы управлять предупреждением.

Примечание

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

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

Spec-Zone.ru

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