FLTK logo

[master] 53543ac - CMake: improve output of fl_debug_target()

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.commit  ]
 
Previous Message ]Next Message ]

[master] 53543ac - CMake: improve output of fl_debug_target() "Albrecht Schlosser" 10:47 May 05  
 
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 ]
 
     
Previous Message ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.