Spec-Zone.ru › CMake 3.26

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. Если не запрашиваются компоненты, требуется только библиотека crypto.

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–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.25/module/FindOpenSSL.html

Spec-Zone.ru

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