Spec-Zone.ru › CMake 3.24

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.

Новое в версии 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.21/module/FindOpenSSL.html

Spec-Zone.ru

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