Spec-Zone.ru › CMake 3.22

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

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

OPENSSL_SSL_LIBRARIES

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

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.

Новое в версии 3.4: Установите OPENSSL_USE_STATIC_LIBS в TRUE , чтобы искать статические библиотеки.

Новое в версии 3.5: Установите OPENSSL_MSVC_STATIC_RT , чтобы выбрать MT версию lib.

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

Spec-Zone.ru

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