From 399ef7a53ce076dd46208030cd22aaf07d308fce Mon Sep 17 00:00:00 2001 From: Boris Rasin Date: Wed, 20 Oct 2021 17:34:19 +0300 Subject: [PATCH] cmake: fix error getting LOCATION property on non-imported target Closes #7885 --- CMakeLists.txt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9715b9f984efd1..a88f49b3b48733 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1494,12 +1494,10 @@ set(libdir "${CMAKE_INSTALL_PREFIX}/lib") foreach(_lib ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${CURL_LIBS}) if(TARGET "${_lib}") set(_libname "${_lib}") - get_target_property(_libtype "${_libname}" TYPE) - if(_libtype STREQUAL INTERFACE_LIBRARY) - # Interface libraries can occur when an external project embeds curl and - # defined targets such as ZLIB::ZLIB by themselves. Ignore these as - # reading the LOCATION property will error out. Assume the user won't need - # this information in the .pc file. + get_target_property(_imported "${_libname}" IMPORTED) + if(NOT _imported) + # Reading the LOCATION property on non-imported target will error out. + # Assume the user won't need this information in the .pc file. continue() endif() get_target_property(_lib "${_libname}" LOCATION)