From: Viktor Szakats Date: Tue, 13 Aug 2024 20:31:21 +0000 (+0200) Subject: cmake: tidy up Find modules X-Git-Tag: curl-8_10_0~262 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65f5caee05e180704497e67af0d050631f1b0e56;p=thirdparty%2Fcurl.git cmake: tidy up Find modules Smoothen out minor differences between Find modules. - brotli, nghttp2: drop redundant `FOUND_VAR` specifiers from `find_package_handle_standard_args()` calls. This function sets both `_FOUND` and `_FOUND` by default. - brotli: set result vars only when found. - brotli: add missing `mark_as_advanced()` call. - brotli: delete custom fail message. - mbedtls, bearssl: use `REQUIRED_VARS` instead of `DEFAULT_MSG`. - msh3, quiche: set `_VERSION` (via pkg-config). - wolfssl: also use `PC_WOLFSSL_INCLUDEDIR`, `PC_WOLFSSL_LIBDIR` as hints. - libpsl, libssh2, zstd: clear temporary variables used for version detection. - gss, msh3, nghttp2, nghttp3, ngtcp2, quiche, zstd: fix to apply `mark_as_advanced()` to internal variables only. Closes #14538 --- diff --git a/CMake/FindBearSSL.cmake b/CMake/FindBearSSL.cmake index ab26a6c4e6..fe77fddb2f 100644 --- a/CMake/FindBearSSL.cmake +++ b/CMake/FindBearSSL.cmake @@ -34,9 +34,10 @@ find_path(BEARSSL_INCLUDE_DIRS "bearssl.h") find_library(BEARSSL_LIBRARY "bearssl") include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(BEARSSL DEFAULT_MSG - BEARSSL_INCLUDE_DIRS - BEARSSL_LIBRARY +find_package_handle_standard_args(BEARSSL + REQUIRED_VARS + BEARSSL_INCLUDE_DIR + BEARSSL_LIBRARY ) mark_as_advanced(BEARSSL_INCLUDE_DIRS BEARSSL_LIBRARY) diff --git a/CMake/FindBrotli.cmake b/CMake/FindBrotli.cmake index 74e309de8c..615d813d12 100644 --- a/CMake/FindBrotli.cmake +++ b/CMake/FindBrotli.cmake @@ -36,15 +36,15 @@ find_library(BROTLIDEC_LIBRARY NAMES "brotlidec") include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Brotli - FOUND_VAR - BROTLI_FOUND REQUIRED_VARS BROTLI_INCLUDE_DIR BROTLIDEC_LIBRARY BROTLICOMMON_LIBRARY - FAIL_MESSAGE - "Could NOT find Brotli" ) -set(BROTLI_INCLUDE_DIRS ${BROTLI_INCLUDE_DIR}) -set(BROTLI_LIBRARIES ${BROTLIDEC_LIBRARY} ${BROTLICOMMON_LIBRARY}) +if(BROTLI_FOUND) + set(BROTLI_INCLUDE_DIRS ${BROTLI_INCLUDE_DIR}) + set(BROTLI_LIBRARIES ${BROTLIDEC_LIBRARY} ${BROTLICOMMON_LIBRARY}) +endif() + +mark_as_advanced(BROTLI_INCLUDE_DIR BROTLIDEC_LIBRARY BROTLICOMMON_LIBRARY) diff --git a/CMake/FindGSS.cmake b/CMake/FindGSS.cmake index 40b92184d6..cbd9bbe5c6 100644 --- a/CMake/FindGSS.cmake +++ b/CMake/FindGSS.cmake @@ -305,4 +305,4 @@ find_package_handle_standard_args(GSS "Could NOT find GSS, try to set the path to GSS root folder in the system variable GSS_ROOT_DIR" ) -mark_as_advanced(GSS_INCLUDE_DIR GSS_LIBRARIES) +mark_as_advanced(_GSS_CFLAGS _GSS_FOUND _GSS_INCLUDE_DIRS _GSS_LDFLAGS _GSS_LIBRARIES _GSS_LIBRARY_DIRS _GSS_MODULE_NAME _GSS_PREFIX _GSS_VERSION) diff --git a/CMake/FindLibPSL.cmake b/CMake/FindLibPSL.cmake index 04331d2444..03be5885b8 100644 --- a/CMake/FindLibPSL.cmake +++ b/CMake/FindLibPSL.cmake @@ -37,6 +37,7 @@ find_library(LIBPSL_LIBRARY NAMES "psl" "libpsl") if(LIBPSL_INCLUDE_DIR) file(STRINGS "${LIBPSL_INCLUDE_DIR}/libpsl.h" _libpsl_version_str REGEX "^#define[\t ]+PSL_VERSION[\t ]+\"(.*)\"") string(REGEX REPLACE "^.*\"([^\"]+)\"" "\\1" LIBPSL_VERSION "${_libpsl_version_str}") + unset(_libpsl_version_str) endif() include(FindPackageHandleStandardArgs) diff --git a/CMake/FindLibSSH2.cmake b/CMake/FindLibSSH2.cmake index 3103b39820..05a5bf9c50 100644 --- a/CMake/FindLibSSH2.cmake +++ b/CMake/FindLibSSH2.cmake @@ -37,6 +37,7 @@ find_library(LIBSSH2_LIBRARY NAMES "ssh2" "libssh2") if(LIBSSH2_INCLUDE_DIR) file(STRINGS "${LIBSSH2_INCLUDE_DIR}/libssh2.h" _libssh2_version_str REGEX "^#define[\t ]+LIBSSH2_VERSION[\t ]+\"(.*)\"") string(REGEX REPLACE "^.*\"([^\"]+)\"" "\\1" LIBSSH2_VERSION "${_libssh2_version_str}") + unset(_libssh2_version_str) endif() include(FindPackageHandleStandardArgs) diff --git a/CMake/FindMSH3.cmake b/CMake/FindMSH3.cmake index cb122c3b6e..06b6c0020b 100644 --- a/CMake/FindMSH3.cmake +++ b/CMake/FindMSH3.cmake @@ -28,6 +28,7 @@ # MSH3_FOUND System has msh3 # MSH3_INCLUDE_DIRS The msh3 include directories # MSH3_LIBRARIES The msh3 library names +# MSH3_VERSION Version of msh3 if(CURL_USE_PKGCONFIG) find_package(PkgConfig QUIET) @@ -46,11 +47,17 @@ find_library(MSH3_LIBRARY NAMES "msh3" ${PC_MSH3_LIBRARY_DIRS} ) +if(PC_MSH3_VERSION) + set(MSH3_VERSION ${PC_MSH3_VERSION}) +endif() + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(MSH3 REQUIRED_VARS MSH3_INCLUDE_DIR MSH3_LIBRARY + VERSION_VAR + MSH3_VERSION ) if(MSH3_FOUND) @@ -58,4 +65,4 @@ if(MSH3_FOUND) set(MSH3_LIBRARIES ${MSH3_LIBRARY}) endif() -mark_as_advanced(MSH3_INCLUDE_DIRS MSH3_LIBRARIES) +mark_as_advanced(MSH3_INCLUDE_DIR MSH3_LIBRARY) diff --git a/CMake/FindMbedTLS.cmake b/CMake/FindMbedTLS.cmake index fc79dcf0f3..afb98f44d6 100644 --- a/CMake/FindMbedTLS.cmake +++ b/CMake/FindMbedTLS.cmake @@ -38,11 +38,12 @@ find_library(MBEDCRYPTO_LIBRARY "mbedcrypto") set(MBEDTLS_LIBRARIES "${MBEDTLS_LIBRARY}" "${MBEDX509_LIBRARY}" "${MBEDCRYPTO_LIBRARY}") include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(MbedTLS DEFAULT_MSG - MBEDTLS_INCLUDE_DIRS - MBEDTLS_LIBRARY - MBEDX509_LIBRARY - MBEDCRYPTO_LIBRARY +find_package_handle_standard_args(MbedTLS + REQUIRED_VARS + MBEDTLS_INCLUDE_DIRS + MBEDTLS_LIBRARY + MBEDX509_LIBRARY + MBEDCRYPTO_LIBRARY ) mark_as_advanced(MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY) diff --git a/CMake/FindNGHTTP2.cmake b/CMake/FindNGHTTP2.cmake index 4e17d0f70a..4217416f81 100644 --- a/CMake/FindNGHTTP2.cmake +++ b/CMake/FindNGHTTP2.cmake @@ -53,8 +53,6 @@ endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(NGHTTP2 - FOUND_VAR - NGHTTP2_FOUND REQUIRED_VARS NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY @@ -67,4 +65,4 @@ if(NGHTTP2_FOUND) set(NGHTTP2_LIBRARIES ${NGHTTP2_LIBRARY}) endif() -mark_as_advanced(NGHTTP2_INCLUDE_DIRS NGHTTP2_LIBRARIES) +mark_as_advanced(NGHTTP2_INCLUDE_DIR NGHTTP2_LIBRARY) diff --git a/CMake/FindNGHTTP3.cmake b/CMake/FindNGHTTP3.cmake index 0094b6a187..f29e4038b7 100644 --- a/CMake/FindNGHTTP3.cmake +++ b/CMake/FindNGHTTP3.cmake @@ -65,4 +65,4 @@ if(NGHTTP3_FOUND) set(NGHTTP3_LIBRARIES ${NGHTTP3_LIBRARY}) endif() -mark_as_advanced(NGHTTP3_INCLUDE_DIRS NGHTTP3_LIBRARIES) +mark_as_advanced(NGHTTP3_INCLUDE_DIR NGHTTP3_LIBRARY) diff --git a/CMake/FindNGTCP2.cmake b/CMake/FindNGTCP2.cmake index 39523cb133..67b8f9c9a0 100644 --- a/CMake/FindNGTCP2.cmake +++ b/CMake/FindNGTCP2.cmake @@ -102,4 +102,4 @@ if(NGTCP2_FOUND) set(NGTCP2_LIBRARIES ${NGTCP2_LIBRARY} ${NGTCP2_CRYPTO_LIBRARY}) endif() -mark_as_advanced(NGTCP2_INCLUDE_DIRS NGTCP2_LIBRARIES) +mark_as_advanced(NGTCP2_INCLUDE_DIR NGTCP2_LIBRARY NGTCP2_CRYPTO_LIBRARY) diff --git a/CMake/FindQUICHE.cmake b/CMake/FindQUICHE.cmake index dd135ce3d6..b5660eeec3 100644 --- a/CMake/FindQUICHE.cmake +++ b/CMake/FindQUICHE.cmake @@ -28,6 +28,7 @@ # QUICHE_FOUND System has quiche # QUICHE_INCLUDE_DIRS The quiche include directories # QUICHE_LIBRARIES The quiche library names +# QUICHE_VERSION Version of quiche if(CURL_USE_PKGCONFIG) find_package(PkgConfig QUIET) @@ -46,11 +47,17 @@ find_library(QUICHE_LIBRARY NAMES "quiche" ${PC_QUICHE_LIBRARY_DIRS} ) +if(PC_QUICHE_VERSION) + set(QUICHE_VERSION ${PC_QUICHE_VERSION}) +endif() + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(QUICHE REQUIRED_VARS QUICHE_INCLUDE_DIR QUICHE_LIBRARY + VERSION_VAR + QUICHE_VERSION ) if(QUICHE_FOUND) @@ -58,4 +65,4 @@ if(QUICHE_FOUND) set(QUICHE_LIBRARIES ${QUICHE_LIBRARY}) endif() -mark_as_advanced(QUICHE_INCLUDE_DIRS QUICHE_LIBRARIES) +mark_as_advanced(QUICHE_INCLUDE_DIR QUICHE_LIBRARY) diff --git a/CMake/FindWolfSSL.cmake b/CMake/FindWolfSSL.cmake index 402b4970a8..51b3c2f264 100644 --- a/CMake/FindWolfSSL.cmake +++ b/CMake/FindWolfSSL.cmake @@ -37,11 +37,13 @@ endif() find_path(WolfSSL_INCLUDE_DIR NAMES "wolfssl/ssl.h" HINTS + ${PC_WOLFSSL_INCLUDEDIR} ${PC_WOLFSSL_INCLUDE_DIRS} ) find_library(WolfSSL_LIBRARY NAMES "wolfssl" HINTS + ${PC_WOLFSSL_LIBDIR} ${PC_WOLFSSL_LIBRARY_DIRS} ) diff --git a/CMake/FindZstd.cmake b/CMake/FindZstd.cmake index b9248fd1c4..dee8bfbc09 100644 --- a/CMake/FindZstd.cmake +++ b/CMake/FindZstd.cmake @@ -51,6 +51,8 @@ if(Zstd_INCLUDE_DIR) file(READ "${Zstd_INCLUDE_DIR}/zstd.h" _zstd_header) string(REGEX MATCH ".*define ZSTD_VERSION_MAJOR *([0-9]+).*define ZSTD_VERSION_MINOR *([0-9]+).*define ZSTD_VERSION_RELEASE *([0-9]+)" _zstd_ver "${_zstd_header}") set(Zstd_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}") + unset(_zstd_header) + unset(_zstd_ver) endif() include(FindPackageHandleStandardArgs) @@ -67,4 +69,4 @@ if(Zstd_FOUND) set(Zstd_LIBRARIES ${Zstd_LIBRARY}) endif() -mark_as_advanced(Zstd_INCLUDE_DIRS Zstd_LIBRARIES) +mark_as_advanced(Zstd_INCLUDE_DIR Zstd_LIBRARY)