CMP0095
Новое в версии 3.16.
RPATH записи должным образом экранируются в скрипте промежуточной установки CMake.
В CMake 3.15 и более ранних версиях, RPATH записи, установленные через CMAKE_INSTALL_RPATH или через INSTALL_RPATH, не экранировались перед вставкой в скрипт cmake_install.cmake. Динамические компоновщики на системах на базе ELF (например, Linux и FreeBSD) допускают определенные ключевые слова в RPATH записях, такие как ${ORIGIN} (Подробнее см. в ld.so страницах руководства по этим системам). Синтаксис этих ключевых слов может соответствовать синтаксису переменных CMake. Для того, чтобы не быть заменёнными (обычно на пустую строку) уже промежуточным скриптом cmake_install.cmake, пользователю необходимо было удваивать экранирование таких RPATH ключевых слов, например, set(CMAKE_INSTALL_RPATH "\\\${ORIGIN}/../lib"). Поскольку скрипт промежуточной cmake_install.cmake установки является реализационной деталью CMake, CMake 3.16 и более поздние версии обеспечат, чтобы RPATH записи вставлялись буквально, экранируя любые совпадающие синтаксические конструкции CMake.
OLD поведение этой политики состоит в том, чтобы не экранировать RPATH записи в промежуточном скрипте cmake_install.cmake. NEW поведение заключается в правильном экранировании совпадающих синтаксических конструкций CMake в RPATH записях при генерации промежуточного скрипта cmake_install.cmake.
Эта политика была введена в версии CMake 3.16. CMake версии 3.24.2 выводит предупреждение, если политика не установлена и обнаружено использование синтаксиса CMake, и использует OLD поведение. Используйте команду cmake_policy(), чтобы установить её явно в OLD или NEW.
Примечание
OLD поведение политики deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/policy/CMP0095.html