From a7e364df81bf25fd3ec2efbfda92ae6ec1345469 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 10 Jun 2025 10:42:26 +0200 Subject: [PATCH] cmake: document OpenSSL and ngtcp2 crypto lib custom variables Cherry-picked from #17561 Closes #17574 --- CMake/FindNGTCP2.cmake | 25 +++++++++++++++---------- docs/INSTALL-CMAKE.md | 8 ++++++++ 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/CMake/FindNGTCP2.cmake b/CMake/FindNGTCP2.cmake index 3cbd408c22..02e7652ab3 100644 --- a/CMake/FindNGTCP2.cmake +++ b/CMake/FindNGTCP2.cmake @@ -34,23 +34,28 @@ # # Input variables: # -# - `NGTCP2_INCLUDE_DIR`: The ngtcp2 include directory. -# - `NGTCP2_LIBRARY`: Path to `ngtcp2` library. +# - `NGTCP2_INCLUDE_DIR`: The ngtcp2 include directory. +# - `NGTCP2_LIBRARY`: Path to `ngtcp2` library. +# - `NGTCP2_CRYPTO_BORINGSSL_LIBRARY`: Path to `ngtcp2_crypto_boringssl` library. +# - `NGTCP2_CRYPTO_GNUTLS_LIBRARY`: Path to `ngtcp2_crypto_gnutls` library. +# - `NGTCP2_CRYPTO_OSSL_LIBRARY`: Path to `ngtcp2_crypto_ossl` library. +# - `NGTCP2_CRYPTO_QUICTLS_LIBRARY`: Path to `ngtcp2_crypto_quictls` library. +# - `NGTCP2_CRYPTO_WOLFSSL_LIBRARY`: Path to `ngtcp2_crypto_wolfssl` library. # # Result variables: # -# - `NGTCP2_FOUND`: System has ngtcp2. -# - `NGTCP2_INCLUDE_DIRS`: The ngtcp2 include directories. -# - `NGTCP2_LIBRARIES`: The ngtcp2 library names. -# - `NGTCP2_LIBRARY_DIRS`: The ngtcp2 library directories. -# - `NGTCP2_PC_REQUIRES`: The ngtcp2 pkg-config packages. -# - `NGTCP2_CFLAGS`: Required compiler flags. -# - `NGTCP2_VERSION`: Version of ngtcp2. +# - `NGTCP2_FOUND`: System has ngtcp2. +# - `NGTCP2_INCLUDE_DIRS`: The ngtcp2 include directories. +# - `NGTCP2_LIBRARIES`: The ngtcp2 library names. +# - `NGTCP2_LIBRARY_DIRS`: The ngtcp2 library directories. +# - `NGTCP2_PC_REQUIRES`: The ngtcp2 pkg-config packages. +# - `NGTCP2_CFLAGS`: Required compiler flags. +# - `NGTCP2_VERSION`: Version of ngtcp2. if(NGTCP2_FIND_COMPONENTS) set(_ngtcp2_crypto_backend "") foreach(_component IN LISTS NGTCP2_FIND_COMPONENTS) - if(_component MATCHES "^(BoringSSL|quictls|wolfSSL|GnuTLS|ossl)") + if(_component MATCHES "^(BoringSSL|GnuTLS|ossl|quictls|wolfSSL)") if(_ngtcp2_crypto_backend) message(FATAL_ERROR "NGTCP2: Only one crypto library can be selected") endif() diff --git a/docs/INSTALL-CMAKE.md b/docs/INSTALL-CMAKE.md index b7fec515fa..497df2745b 100644 --- a/docs/INSTALL-CMAKE.md +++ b/docs/INSTALL-CMAKE.md @@ -386,6 +386,9 @@ Details via CMake ## Dependency options (via CMake) - `OPENSSL_ROOT_DIR`: Set this variable to the root installation of OpenSSL (and forks). +- `OPENSSL_INCLUDE_DIR`: The OpenSSL include directory. +- `OPENSSL_SSL_LIBRARY`: Path to `ssl` library. With MSVC, CMake uses variables `SSL_EAY_DEBUG`/`SSL_EAY_RELEASE` instead. +- `OPENSSL_CRYPTO_LIBRARY`: Path to `crypto` library. With MSVC, CMake uses variables `LIB_EAY_DEBUG`/`LIB_EAY_RELEASE` instead. - `OPENSSL_USE_STATIC_LIBS`: Look for static OpenSSL libraries. - `ZLIB_INCLUDE_DIR`: The zlib include directory. - `ZLIB_LIBRARY`: Path to `zlib` library. @@ -440,6 +443,11 @@ Details via CMake - `NGHTTP3_LIBRARY`: Path to `nghttp3` library. - `NGTCP2_INCLUDE_DIR`: The ngtcp2 include directory. - `NGTCP2_LIBRARY`: Path to `ngtcp2` library. +- `NGTCP2_CRYPTO_BORINGSSL_LIBRARY`: Path to `ngtcp2_crypto_boringssl` library. +- `NGTCP2_CRYPTO_GNUTLS_LIBRARY`: Path to `ngtcp2_crypto_gnutls` library. +- `NGTCP2_CRYPTO_OSSL_LIBRARY`: Path to `ngtcp2_crypto_ossl` library. +- `NGTCP2_CRYPTO_QUICTLS_LIBRARY`: Path to `ngtcp2_crypto_quictls` library. +- `NGTCP2_CRYPTO_WOLFSSL_LIBRARY`: Path to `ngtcp2_crypto_wolfssl` library. - `NETTLE_INCLUDE_DIR`: The nettle include directory. - `NETTLE_LIBRARY`: Path to `nettle` library. - `PTHREAD_LIBRARY`: Path to `pthread` library. (for Rustls) -- 2.47.3