Spec-Zone.ru › CMake 3.22

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.22.6 предупреждает, когда политика не установлена и обнаружено использование синтаксиса CMake, и использует поведение OLD. Используйте команду cmake_policy(), чтобы установить её явно в OLD или NEW.

Примечание

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

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

Spec-Zone.ru

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