Spec-Zone.ru › CMake 3.29

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API