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