Spec-Zone.ru › CMake 3.26

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

Примечание

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

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

Spec-Zone.ru

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