]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmake/Find: add `iphlpapi` for c-ares, omit syslibs if dep not found
authorViktor Szakats <commit@vsz.me>
Sun, 26 Jan 2025 00:17:42 +0000 (01:17 +0100)
committerViktor Szakats <commit@vsz.me>
Sun, 26 Jan 2025 00:52:47 +0000 (01:52 +0100)
- 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

CMake/FindCares.cmake
CMake/FindLibrtmp.cmake
CMake/FindRustls.cmake
CMake/FindWolfSSL.cmake

index cd8de0cdde55226bf6e5bb70cc7350f0c509da59..67dec09465638f4646d3ad80019975499ea0bd97 100644 (file)
@@ -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()
index 4f811151d1ab089ffeb4f61c412b8a391749a9ff..dd3fb9e010342065f567f1a6dea780a71298941a 100644 (file)
@@ -97,6 +97,6 @@ else()
   endif()
 endif()
 
-if(WIN32)
+if(LIBRTMP_FOUND AND WIN32)
   list(APPEND LIBRTMP_LIBRARIES "winmm")
 endif()
index 8a231fc7e1d9c3e572e52d180006622b8d276a2b..51f45060b7174085269b783a69b07cbe9ca8af16 100644 (file)
@@ -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()
index 9fdad66d2c56fe3dd09c98e86bfad24c13568251..3163fee9b9644e060884f28d29a45036d692c0e7 100644 (file)
@@ -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