Spec-Zone.ru › CMake 3.28

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.

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/v3.27/module/FindOpenSSL.html

Spec-Zone.ru

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