Spec-Zone.ru › CMake

FindOpenSSL

Найдите библиотеку шифрования OpenSSL.

Этот модуль находит установленную библиотеку OpenSSL и определяет её версию.

Добавлена в версии 3.19: При запросе версии её можно указать как простое значение или диапазон. Подробное описание использования и возможностей диапазонов версий см. в команде find_package().

Добавлена в версии 3.18: Поддержка OpenSSL 3.0.

Дополнительные КОМПОНЕНТЫ

Добавлена в версии 3.12.

Этот модуль поддерживает два дополнительных КОМПОНЕНТА: Crypto и SSL. Оба компонента имеют связанные импортированные цели, как описано ниже.

Импортированные цели

Добавлена в версии 3.4.

Этот модуль определяет следующие IMPORTED цели:

OpenSSL::SSL

Библиотека OpenSSL ssl , если найдена.

OpenSSL::Crypto

Библиотека OpenSSL crypto , если найдена.

OpenSSL::applink

Добавлена в версии 3.18.

Компоненты OpenSSL applink , которые могут потребоваться для компиляции в проекты под MSVC. Эта цель доступна только если найденная версия OpenSSL не ниже 0.9.8. Связывая эту цель, вышеперечисленные цели OpenSSL могут быть связаны, даже если проект имеет разные конфигурации среды выполнения MSVC с вышеперечисленными целями OpenSSL. Эта цель не оказывает влияния на платформы, отличные от MSVC.

ПРИМЕЧАНИЕ: Из-за того, как INTERFACE_SOURCES потребляются целевым объектом, если вы не уверены в своих действиях, рекомендуется всегда связывать цель OpenSSL::applink как PRIVATE и убедиться, что эта цель связана не более одного раза для всего графа зависимостей любой библиотеки или исполняемого файла:

target_link_libraries(myTarget PRIVATE OpenSSL::applink)

В противном случае вы, вероятно, столкнетесь с неожиданными случайными проблемами при сборке и компоновке, так как как стандарт ISO C, так и стандарт ISO C++ почти ничего не утверждают о том, каким должен быть процесс компоновки.

Переменные результатов

Этот модуль установит следующие переменные в вашем проекте:

OPENSSL_FOUND

Система имеет библиотеку OpenSSL. Если компоненты не запрашиваются, достаточно библиотеки криптографии.

OPENSSL_INCLUDE_DIR

Директория заголовков OpenSSL.

OPENSSL_CRYPTO_LIBRARY

Библиотека криптографии OpenSSL.

OPENSSL_CRYPTO_LIBRARIES

Библиотека криптографии OpenSSL и её зависимости.

OPENSSL_SSL_LIBRARY

Библиотека OpenSSL SSL.

OPENSSL_SSL_LIBRARIES

Библиотека OpenSSL SSL и её зависимости.

OPENSSL_LIBRARIES

Все библиотеки OpenSSL и их зависимости.

OPENSSL_VERSION

Устанавливается в $major.$minor.$revision$patch (например, 0.9.8s).

OPENSSL_APPLINK_SOURCE

Исходные файлы в целевом объекте OpenSSL::applink , упомянутом выше. Эта переменная всегда должна быть неопределённой, если найденная версия OpenSSL меньше 0.9.8 или платформа не MSVC.

Подсказки

Следующие переменные могут быть установлены для управления поведением поиска:

OPENSSL_ROOT_DIR

Устанавливается в корневую директорию установки OpenSSL.

OPENSSL_USE_STATIC_LIBS

Добавлена в версии 3.4.

Устанавливается в TRUE для поиска статических библиотек.

OPENSSL_MSVC_STATIC_RT

Добавлена в версии 3.5.

Устанавливается в TRUE для выбора версии lib MT.

ENV{PKG_CONFIG_PATH}

В системах Unix-подобных системах pkg-config используется для поиска системного OpenSSL. Переменная среды PKG_CONFIG_PATH устанавливается для поиска в альтернативных расположениях. Полезно в системах с несколькими библиотеками.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/module/FindOpenSSL.html

Spec-Zone.ru

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