From 79157efeb2922052c1833cd98bdc027eae6561e2 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 27 Mar 2025 01:17:55 +0100 Subject: [PATCH] curl-config.cmake.in: add logic 2 --- CMake/curl-config.cmake.in | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/CMake/curl-config.cmake.in b/CMake/curl-config.cmake.in index 32d3215503..b39d45cd2a 100644 --- a/CMake/curl-config.cmake.in +++ b/CMake/curl-config.cmake.in @@ -24,6 +24,8 @@ @PACKAGE_INIT@ include(CMakeFindDependencyMacro) + +set(_libs "") if("@USE_OPENSSL@") if("@OPENSSL_VERSION_MAJOR@") find_dependency(OpenSSL "@OPENSSL_VERSION_MAJOR@") @@ -51,14 +53,16 @@ if(NOT _has_CMP0099 AND _lib) # CMake before CMP0099 (CMake 3.17 2020-03-20) did not endorse the concept of libdirs and lib names. # It expected libs to have an absolute filename. As a workaround, manually apply dependency libdirs # to the libcurl target, for CMake consumers without this policy set. - get_target_property(_libdirs "${_lib}" INTERFACE_LINK_DIRECTORIES) - if(_libdirs) - foreach(_target IN ITEMS @PROJECT_NAME@::@LIB_SHARED@ @PROJECT_NAME@::@LIB_STATIC@) - if(TARGET "${_target}") - target_link_directories("${_target}" INTERFACE ${_libdirs}) - endif() - endforeach() - endif() + foreach(_lib IN ITEMS libs) + get_target_property(_libdirs "${_lib}" INTERFACE_LINK_DIRECTORIES) + if(_libdirs) + foreach(_target IN ITEMS @PROJECT_NAME@::libcurl) + if(TARGET "${_target}") + target_link_directories("${_target}" INTERFACE ${_libdirs}) + endif() + endforeach() + endif() + endforeach() endif() # For compatibility with CMake's FindCURL.cmake