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.21.0-rc3 по умолчанию не выводит предупреждение, если эта политика не установлена, и просто использует поведение OLD. См. документацию переменной CMAKE_POLICY_WARNING_CMP0056 для управления предупреждением.
Примечание
Поведение OLD политики — deprecated by definition, и оно может быть удалено в будущих версиях CMake.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/policy/CMP0056.html