|
|
commit 53543acb2e668c9efeab8305ba1bb69a9c661787
Author: Albrecht Schlosser <albrechts.fltk@online.de>
AuthorDate: Sun May 5 19:40:27 2024 +0200
Commit: Albrecht Schlosser <albrechts.fltk@online.de>
CommitDate: Sun May 5 19:41:50 2024 +0200
CMake: improve output of fl_debug_target()
Todo: check "*LOCATION" properties ...
CMake/fl_debug_var.cmake | 56 +++++++++++++++++++++++++++---------------------
1 file changed, 32 insertions(+), 24 deletions(-)
diff --git CMake/fl_debug_var.cmake CMake/fl_debug_var.cmake
index 6b52e4d..1c33a93 100644
--- CMake/fl_debug_var.cmake
+++ 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)
+ if(NOT TARGET ${name})
+ message(STATUS "${var} = <not a target>")
+ 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
- INTERFACE_INCLUDE_DIRECTORIES
- INTERFACE_LINK_DIRECTORIES
- INTERFACE_LINK_LIBRARIES)
+ INCLUDE_DIRECTORIES
+ LINK_DIRECTORIES
+ LINK_LIBRARIES
+ COMPILE_DEFINITIONS
+ INTERFACE_COMPILE_DEFINITIONS
+ INTERFACE_INCLUDE_DIRECTORIES
+ INTERFACE_LINK_DIRECTORIES
+ INTERFACE_LINK_LIBRARIES)
- if(TARGET ${name})
- message(STATUS "${var} = <target>")
- foreach(prop ${_props})
- get_target_property(${prop} ${name} ${prop})
- if(NOT ${prop})
- set(${prop} "")
- endif()
- fl_debug_var(${prop})
- endforeach()
- else()
- message(STATUS "${var} = <not a target>")
- endif()
+ 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)
[ Direct Link to Message ] | |
|
| |