Spec-Zone.ru › CMake 3.16

CMP0056

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

Примечание

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

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

Spec-Zone.ru

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