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(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() + 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(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}) + 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()