Spec-Zone.ru › CMake 3.23

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 установите TRUE для выбора версии lib MT.

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

Spec-Zone.ru

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