Author: brane
Date: Sat Jan 10 13:48:21 2026
New Revision: 1931217
Log:
In the CMake build, show dependency versions in the summary.
* CMakeLists.txt:
- Expand the summary with dependency version numbers.
- Detect LibreSSL and annotate that in the summary.
- The use of Unbound is no longer considered experimental.
Modified:
serf/trunk/CMakeLists.txt
Modified: serf/trunk/CMakeLists.txt
==============================================================================
--- serf/trunk/CMakeLists.txt Sat Jan 10 11:25:10 2026 (r1931216)
+++ serf/trunk/CMakeLists.txt Sat Jan 10 13:48:21 2026 (r1931217)
@@ -262,6 +262,7 @@ if(NOT (OpenSSL_SSL_FOUND AND OpenSSL_Cr
endif()
else()
set(OpenSSL_FOUND TRUE)
+ set(OPENSSL_VERSION ${OPENSSL_SSL_VERSION})
set(OPENSSL_INCLUDE_DIR ${OPENSSL_SSL_INCLUDE_DIR})
set(OPENSSL_PC_REQUIRES ${OPENSSL_SSL_PC_REQUIRES}
${OPENSSL_CRYPTO_PC_REQUIRES})
set(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})
@@ -289,6 +290,7 @@ if(USE_BROTLI)
endif()
else()
set(Brotli_FOUND TRUE)
+ set(BROTLI_VERSION ${BROTLI_DECODE_VERSION})
set(BROTLI_INCLUDE_DIR ${BROTLI_DECODE_INCLUDE_DIR})
set(BROTLI_PC_REQUIRES ${BROTLI_DECODE_PC_REQUIRES})
endif()
@@ -635,6 +637,15 @@ endif()
if("SERF_HAVE_BROTLI" IN_LIST SERF_C_DEFINES)
set(_have_brotli ON)
+ if(NOT SERF_WINDOWS)
+ set(_brotli_version ${BROTLI_VERSION})
+ else()
+ # On Windows, vcpkg doesn't install the 'brotli' binary which we use to
+ # find the version, and it isn't published in the headers. *shrug*
+ if("${BROTLI_VERSION}" STREQUAL "")
+ set(_brotli_version "N/A")
+ endif()
+ endif()
endif()
if("SERF_HAVE_GSSAPI" IN_LIST SERF_C_DEFINES)
set(_have_gssapi ON)
@@ -643,7 +654,17 @@ if("SERF_HAVE_SSPI" IN_LIST SERF_C_DEFIN
set(_have_sspi ON)
endif()
if ("SERF_HAVE_UNBOUND=1" IN_LIST SERF_C_DEFINES)
- set(_have_unbound "EXPERIMENTAL")
+ set(_have_unbound ON)
+endif()
+
+# Check if we're linking with LibreSSL
+file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" _libressl_text
+ REGEX "^ *# *define +LIBRESSL_VERSION_TEXT +\".+$")
+if(NOT (_libressl_text STREQUAL ""))
+ string(REGEX REPLACE "^[^\"]+\"([^\"]+)\".*$" "\\1" _libressl_text
${_libressl_text})
+ set(_openssl_version ${_libressl_text})
+else()
+ set(_openssl_version ${OPENSSL_VERSION})
endif()
message(STATUS "Summary:")
@@ -662,6 +683,22 @@ message(STATUS " Brotli .............
message(STATUS " GSSAPI .................. : ${_have_gssapi}")
message(STATUS " SSPI .................... : ${_have_sspi}")
message(STATUS " Unbound ................. : ${_have_unbound}")
+message(STATUS " Dependencies:")
+message(STATUS " APR ..................... : ${APR_VERSION}")
+if(APR_VERSION VERSION_LESS 2.0.0)
+message(STATUS " APR-Util ................ : ${APRUTIL_VERSION}")
+endif()
+message(STATUS " OpenSSL ................. : ${_openssl_version}")
+message(STATUS " Zlib .................... : ${ZLIB_VERSION}")
+if(_have_brotli)
+message(STATUS " Brotli .................. : ${_brotli_version}")
+endif()
+if(_have_gssapi)
+message(STATUS " GSSAPI .................. : ${GSSAPI_VERSION}")
+endif()
+if(_have_unbound)
+message(STATUS " Unbound ................. : ${UNBOUND_VERSION}")
+endif()
message(STATUS " Install:")
message(STATUS " prefix: ................. : ${CMAKE_INSTALL_PREFIX}")
message(STATUS " headers: ................ : ${SERF_INSTALL_HEADERS}")