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/v3.31/module/FindOpenSSL.html