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