[libxml2] Check if target exists when reading target properties



commit c26e45259c3b85c5509849fb771876b0b4ce467f
Author: Markus Rickert <rickert fortiss org>
Date:   Thu Dec 31 13:18:14 2020 +0100

    Check if target exists when reading target properties

 libxml2-config.cmake.cmake.in | 74 +++++++++++++++++++++++--------------------
 1 file changed, 39 insertions(+), 35 deletions(-)
---
diff --git a/libxml2-config.cmake.cmake.in b/libxml2-config.cmake.cmake.in
index dbdbc694..15391bb2 100644
--- a/libxml2-config.cmake.cmake.in
+++ b/libxml2-config.cmake.cmake.in
@@ -31,44 +31,48 @@ set(LIBXML2_INCLUDE_DIR    ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@/libx
 set(LIBXML2_LIBRARY_DIR    ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@)
 
 macro(select_library_location target basename)
-  foreach(property IN ITEMS IMPORTED_LOCATION IMPORTED_IMPLIB)
-    get_target_property(${basename}_${property}_DEBUG ${target} ${property}_DEBUG)
-    get_target_property(${basename}_${property}_MINSIZEREL ${target} ${property}_MINSIZEREL)
-    get_target_property(${basename}_${property}_RELEASE ${target} ${property}_RELEASE)
-    get_target_property(${basename}_${property}_RELWITHDEBINFO ${target} ${property}_RELWITHDEBINFO)
-
-    if(${basename}_${property}_DEBUG AND ${basename}_${property}_RELEASE)
-      set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized 
${${basename}_${property}_RELEASE})
-    elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_RELWITHDEBINFO)
-      set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized 
${${basename}_${property}_RELWITHDEBINFO})
-    elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_MINSIZEREL)
-      set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized 
${${basename}_${property}_MINSIZEREL})
-    elseif(${basename}_${property}_RELEASE)
-      set(${basename}_LIBRARY ${${basename}_${property}_RELEASE})
-    elseif(${basename}_${property}_RELWITHDEBINFO)
-      set(${basename}_LIBRARY ${${basename}_${property}_RELWITHDEBINFO})
-    elseif(${basename}_${property}_MINSIZEREL)
-      set(${basename}_LIBRARY ${${basename}_${property}_MINSIZEREL})
-    elseif(${basename}_${property}_DEBUG)
-      set(${basename}_LIBRARY ${${basename}_${property}_DEBUG})
-    endif()
-  endforeach()
+  if(TARGET ${target})
+    foreach(property IN ITEMS IMPORTED_LOCATION IMPORTED_IMPLIB)
+      get_target_property(${basename}_${property}_DEBUG ${target} ${property}_DEBUG)
+      get_target_property(${basename}_${property}_MINSIZEREL ${target} ${property}_MINSIZEREL)
+      get_target_property(${basename}_${property}_RELEASE ${target} ${property}_RELEASE)
+      get_target_property(${basename}_${property}_RELWITHDEBINFO ${target} ${property}_RELWITHDEBINFO)
+
+      if(${basename}_${property}_DEBUG AND ${basename}_${property}_RELEASE)
+        set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized 
${${basename}_${property}_RELEASE})
+      elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_RELWITHDEBINFO)
+        set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized 
${${basename}_${property}_RELWITHDEBINFO})
+      elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_MINSIZEREL)
+        set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized 
${${basename}_${property}_MINSIZEREL})
+      elseif(${basename}_${property}_RELEASE)
+        set(${basename}_LIBRARY ${${basename}_${property}_RELEASE})
+      elseif(${basename}_${property}_RELWITHDEBINFO)
+        set(${basename}_LIBRARY ${${basename}_${property}_RELWITHDEBINFO})
+      elseif(${basename}_${property}_MINSIZEREL)
+        set(${basename}_LIBRARY ${${basename}_${property}_MINSIZEREL})
+      elseif(${basename}_${property}_DEBUG)
+        set(${basename}_LIBRARY ${${basename}_${property}_DEBUG})
+      endif()
+    endforeach()
+  endif()
 endmacro()
 
 macro(select_executable_location target basename)
-  get_target_property(${basename}_IMPORTED_LOCATION_DEBUG ${target} IMPORTED_LOCATION_DEBUG)
-  get_target_property(${basename}_IMPORTED_LOCATION_MINSIZEREL ${target} IMPORTED_LOCATION_MINSIZEREL)
-  get_target_property(${basename}_IMPORTED_LOCATION_RELEASE ${target} IMPORTED_LOCATION_RELEASE)
-  get_target_property(${basename}_IMPORTED_LOCATION_RELWITHDEBINFO ${target} 
IMPORTED_LOCATION_RELWITHDEBINFO)
-
-  if(${basename}_IMPORTED_LOCATION_RELEASE)
-    set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_RELEASE})
-  elseif(${basename}_IMPORTED_LOCATION_RELWITHDEBINFO)
-    set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_RELWITHDEBINFO})
-  elseif(${basename}_IMPORTED_LOCATION_MINSIZEREL)
-    set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_MINSIZEREL})
-  elseif(${basename}_IMPORTED_LOCATION_DEBUG)
-    set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_DEBUG})
+  if(TARGET ${target})
+    get_target_property(${basename}_IMPORTED_LOCATION_DEBUG ${target} IMPORTED_LOCATION_DEBUG)
+    get_target_property(${basename}_IMPORTED_LOCATION_MINSIZEREL ${target} IMPORTED_LOCATION_MINSIZEREL)
+    get_target_property(${basename}_IMPORTED_LOCATION_RELEASE ${target} IMPORTED_LOCATION_RELEASE)
+    get_target_property(${basename}_IMPORTED_LOCATION_RELWITHDEBINFO ${target} 
IMPORTED_LOCATION_RELWITHDEBINFO)
+
+    if(${basename}_IMPORTED_LOCATION_RELEASE)
+      set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_RELEASE})
+    elseif(${basename}_IMPORTED_LOCATION_RELWITHDEBINFO)
+      set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_RELWITHDEBINFO})
+    elseif(${basename}_IMPORTED_LOCATION_MINSIZEREL)
+      set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_MINSIZEREL})
+    elseif(${basename}_IMPORTED_LOCATION_DEBUG)
+      set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_DEBUG})
+    endif()
   endif()
 endmacro()
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]