diff --git a/CMake/fl_debug_var.cmake b/CMake/fl_debug_var.cmake index 6b52e4db2..1c33a9313 100644 --- a/CMake/fl_debug_var.cmake +++ b/CMake/fl_debug_var.cmake @@ -97,35 +97,43 @@ function(fl_debug_target name) set(var "${name}") fl_expand_name(var "${name}" 40) - # these properties are always supported: - set(_props ALIASED_TARGET TYPE) - - # these properties are not supported before 3.20 for *some* target types - if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.20) - list(APPEND _props - LOCATION - IMPORTED_LOCATION - INTERFACE_LOCATION) - endif() - - # these properties are always supported: - list(APPEND _props - INTERFACE_INCLUDE_DIRECTORIES - INTERFACE_LINK_DIRECTORIES - INTERFACE_LINK_LIBRARIES) - - if(TARGET ${name}) - message(STATUS "${var} = ") - foreach(prop ${_props}) - get_target_property(${prop} ${name} ${prop}) - if(NOT ${prop}) - set(${prop} "") - endif() - fl_debug_var(${prop}) - endforeach() - else() + if(NOT TARGET ${name}) message(STATUS "${var} = ") + message(STATUS "") + return() endif() + + get_target_property(_type ${name} TYPE) + # message(STATUS "${var} = target, type = ${_type}") + + # these properties are always supported: + set(_props NAME TYPE ALIASED_TARGET) + + # these properties can't be read from executable target types + ### if(NOT _type STREQUAL "EXECUTABLE") + ### list(APPEND _props + ### LOCATION + ### IMPORTED_LOCATION + ### INTERFACE_LOCATION) + ### endif() + + list(APPEND _props + INCLUDE_DIRECTORIES + LINK_DIRECTORIES + LINK_LIBRARIES + COMPILE_DEFINITIONS + INTERFACE_COMPILE_DEFINITIONS + INTERFACE_INCLUDE_DIRECTORIES + INTERFACE_LINK_DIRECTORIES + INTERFACE_LINK_LIBRARIES) + + foreach(prop ${_props}) + get_target_property(${prop} ${name} ${prop}) + if(NOT ${prop}) + set(${prop} "") + endif() + fl_debug_var(${prop}) + endforeach() message(STATUS "") endfunction(fl_debug_target)