CMP0095
RPATH записи корректно экранированы в промежуточном скрипте CMake install.
В CMake 3.15 и ранее, RPATH записи, установленные через CMAKE_INSTALL_RPATH или через INSTALL_RPATH, не были экранированы перед вставкой в cmake_install.cmake скрипт. Динамические линковщики на системах на базе ELF (например, Linux и FreeBSD) допускают определенные ключевые слова в RPATH записях, такие как ${ORIGIN} (Более подробная информация доступна в ld.so man-страницах на этих системах). Синтаксис этих ключевых слов может совпадать с синтаксисом переменных 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.17.5 предупреждает, когда политика не установлена и обнаружено использование синтаксиса, подобного CMake, и использует OLD поведение. Используйте команду cmake_policy() для явного её установки в OLD или NEW.
Примечание
OLD поведение политики deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.17/policy/CMP0095.html