1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-03-20 18:50:08 +03:00

Check if target exists when reading target properties

This commit is contained in:
Markus Rickert 2020-12-31 13:18:14 +01:00
parent ec11987592
commit c26e45259c

View File

@ -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()