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 -
Библиотека OpenSSL SSL.
-
OPENSSL_SSL_LIBRARIES -
Библиотека OpenSSL SSL и её зависимости.
-
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/latest/module/FindOpenSSL.html