From: Joshua Vandaƫle Date: Wed, 7 Jan 2026 23:55:45 +0000 (+0100) Subject: cmake: reference OpenSSL and ZLIB imported targets only when enabled X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97f518e19342d60468c2e8b1b3ce735d4f132652;p=thirdparty%2Fcurl.git cmake: reference OpenSSL and ZLIB imported targets only when enabled This otherwise broke building on a parent with a static library which is available but disabled (e.g. CURL_ZLIB is set to OFF but ZLIB::ZLIB exists) Closes #20217 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e5383ac98..e42a3f7da0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1799,7 +1799,14 @@ endif() # before dependencies detected via curl's custom Find modules, and breaks # linkers sensitive to lib order. There must be a better solution to this. if(CMAKE_C_COMPILER_ID STREQUAL "GNU") - foreach(_lib IN ITEMS OpenSSL::Crypto ZLIB::ZLIB) + set(_libs "") + if(USE_OPENSSL) + list(APPEND _libs OpenSSL::Crypto) + endif() + if(HAVE_LIBZ) + list(APPEND _libs ZLIB::ZLIB) + endif() + foreach(_lib IN LISTS _libs) if(TARGET "${_lib}") add_library(CURL::${_lib} INTERFACE IMPORTED) get_target_property(_libname "${_lib}" LOCATION)