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