From: Viktor Szakats Date: Sun, 26 Jan 2025 00:17:42 +0000 (+0100) Subject: cmake/Find: add `iphlpapi` for c-ares, omit syslibs if dep not found X-Git-Tag: curl-8_12_0~53 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3e552ef8331765a3bbb43d4666cdd23a62075d39;p=thirdparty%2Fcurl.git cmake/Find: add `iphlpapi` for c-ares, omit syslibs if dep not found - add `iphlpapi` library for c-ares. Ref: https://github.com/curl/curl-for-win/commit/082d98ba6b3bdaca07c340796371da100515a335 - fix to not add system libs if the dependency was not found. librtmp, Rustls, wolfSSL Follow-up to 421e592db25cbbe4baadfeef8e6ed75a57579d0a #15832 Follow-up to 7bab201abe3915a0167c002f9308950cb8a06e4b #15193 Closes #16089 --- diff --git a/CMake/FindCares.cmake b/CMake/FindCares.cmake index cd8de0cdde..67dec09465 100644 --- a/CMake/FindCares.cmake +++ b/CMake/FindCares.cmake @@ -90,3 +90,7 @@ else() mark_as_advanced(CARES_INCLUDE_DIR CARES_LIBRARY) endif() + +if(CARES_FOUND AND WIN32) + list(APPEND CARES_LIBRARIES "iphlpapi") # for if_indextoname and others +endif() diff --git a/CMake/FindLibrtmp.cmake b/CMake/FindLibrtmp.cmake index 4f811151d1..dd3fb9e010 100644 --- a/CMake/FindLibrtmp.cmake +++ b/CMake/FindLibrtmp.cmake @@ -97,6 +97,6 @@ else() endif() endif() -if(WIN32) +if(LIBRTMP_FOUND AND WIN32) list(APPEND LIBRTMP_LIBRARIES "winmm") endif() diff --git a/CMake/FindRustls.cmake b/CMake/FindRustls.cmake index 8a231fc7e1..51f45060b7 100644 --- a/CMake/FindRustls.cmake +++ b/CMake/FindRustls.cmake @@ -71,36 +71,38 @@ else() mark_as_advanced(RUSTLS_INCLUDE_DIR RUSTLS_LIBRARY) endif() -if(APPLE) - find_library(SECURITY_FRAMEWORK NAMES "Security") - mark_as_advanced(SECURITY_FRAMEWORK) - if(NOT SECURITY_FRAMEWORK) - message(FATAL_ERROR "Security framework not found") - endif() - list(APPEND RUSTLS_LIBRARIES "-framework Security") +if(RUSTLS_FOUND) + if(APPLE) + find_library(SECURITY_FRAMEWORK NAMES "Security") + mark_as_advanced(SECURITY_FRAMEWORK) + if(NOT SECURITY_FRAMEWORK) + message(FATAL_ERROR "Security framework not found") + endif() + list(APPEND RUSTLS_LIBRARIES "-framework Security") - find_library(FOUNDATION_FRAMEWORK NAMES "Foundation") - mark_as_advanced(FOUNDATION_FRAMEWORK) - if(NOT FOUNDATION_FRAMEWORK) - message(FATAL_ERROR "Foundation framework not found") - endif() - list(APPEND RUSTLS_LIBRARIES "-framework Foundation") -elseif(NOT WIN32) - find_library(PTHREAD_LIBRARY NAMES "pthread") - if(PTHREAD_LIBRARY) - list(APPEND RUSTLS_LIBRARIES ${PTHREAD_LIBRARY}) - endif() - mark_as_advanced(PTHREAD_LIBRARY) + find_library(FOUNDATION_FRAMEWORK NAMES "Foundation") + mark_as_advanced(FOUNDATION_FRAMEWORK) + if(NOT FOUNDATION_FRAMEWORK) + message(FATAL_ERROR "Foundation framework not found") + endif() + list(APPEND RUSTLS_LIBRARIES "-framework Foundation") + elseif(NOT WIN32) + find_library(PTHREAD_LIBRARY NAMES "pthread") + if(PTHREAD_LIBRARY) + list(APPEND RUSTLS_LIBRARIES ${PTHREAD_LIBRARY}) + endif() + mark_as_advanced(PTHREAD_LIBRARY) - find_library(DL_LIBRARY NAMES "dl") - if(DL_LIBRARY) - list(APPEND RUSTLS_LIBRARIES ${DL_LIBRARY}) - endif() - mark_as_advanced(DL_LIBRARY) + find_library(DL_LIBRARY NAMES "dl") + if(DL_LIBRARY) + list(APPEND RUSTLS_LIBRARIES ${DL_LIBRARY}) + endif() + mark_as_advanced(DL_LIBRARY) - find_library(MATH_LIBRARY NAMES "m") - if(MATH_LIBRARY) - list(APPEND RUSTLS_LIBRARIES ${MATH_LIBRARY}) + find_library(MATH_LIBRARY NAMES "m") + if(MATH_LIBRARY) + list(APPEND RUSTLS_LIBRARIES ${MATH_LIBRARY}) + endif() + mark_as_advanced(MATH_LIBRARY) endif() - mark_as_advanced(MATH_LIBRARY) endif() diff --git a/CMake/FindWolfSSL.cmake b/CMake/FindWolfSSL.cmake index 9fdad66d2c..3163fee9b9 100644 --- a/CMake/FindWolfSSL.cmake +++ b/CMake/FindWolfSSL.cmake @@ -90,7 +90,7 @@ else() mark_as_advanced(WOLFSSL_INCLUDE_DIR WOLFSSL_LIBRARY) endif() -if(NOT WIN32) +if(WOLFSSL_FOUND AND NOT WIN32) find_library(MATH_LIBRARY NAMES "m") if(MATH_LIBRARY) list(APPEND WOLFSSL_LIBRARIES ${MATH_LIBRARY}) # for log and pow