|
From: <kin...@us...> - 2025-09-13 09:38:00
|
Revision: 7428
http://sourceforge.net/p/teem/code/7428
Author: kindlmann
Date: 2025-09-13 09:37:57 +0000 (Sat, 13 Sep 2025)
Log Message:
-----------
finally got some kind of hierarchical target dumper working
Modified Paths:
--------------
teem/trunk/CMake/DumpTarget.cmake
teem/trunk/CMakeLists-v2.txt
Modified: teem/trunk/CMake/DumpTarget.cmake
===================================================================
--- teem/trunk/CMake/DumpTarget.cmake 2025-09-13 08:50:42 UTC (rev 7427)
+++ teem/trunk/CMake/DumpTarget.cmake 2025-09-13 09:37:57 UTC (rev 7428)
@@ -92,3 +92,49 @@
message("")
endfunction()
+
+
+function(_td_dump_dir dir indent)
+ if(NOT indent)
+ set(indent "")
+ endif()
+
+ message("${indent}Directory: ${dir}")
+
+ # Targets created by add_library/add_executable/add_custom_target in this dir
+ get_property(_dir_targets DIRECTORY "${dir}" PROPERTY BUILDSYSTEM_TARGETS)
+ if(_dir_targets)
+ foreach(_t IN LISTS _dir_targets)
+ message("${indent}>>>>> target: ${_t}")
+ # call user-provided per-target dumper
+ dump_target(${_t})
+ endforeach()
+ endif()
+
+ # Imported targets added in this directory (CMake >= 3.21)
+ get_property(_dir_imported DIRECTORY "${dir}" PROPERTY IMPORTED_TARGETS)
+ if(_dir_imported)
+ foreach(_it IN LISTS _dir_imported)
+ message("${indent}>>>>> imported: ${_it}")
+ dump_target(${_it})
+ endforeach()
+ endif()
+
+ # Recurse into subdirectories
+ get_property(_subdirs DIRECTORY "${dir}" PROPERTY SUBDIRECTORIES)
+ foreach(_sd IN LISTS _subdirs)
+ # _sd is a directory path (absolute or relative); calling recursively is fine.
+ _td_dump_dir("${_sd}" "${indent}====")
+ endforeach()
+endfunction()
+
+function(dump_targets_all)
+ message("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv")
+ message("=============== Begin Hierarchical Target Dump ==============")
+
+ _td_dump_dir("${CMAKE_SOURCE_DIR}" "")
+
+ message("================ End Hierarchical Target Dump ===============")
+ message("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^")
+
+endfunction()
Modified: teem/trunk/CMakeLists-v2.txt
===================================================================
--- teem/trunk/CMakeLists-v2.txt 2025-09-13 08:50:42 UTC (rev 7427)
+++ teem/trunk/CMakeLists-v2.txt 2025-09-13 09:37:57 UTC (rev 7428)
@@ -37,6 +37,7 @@
# TeemConfig.cmake.in
# CheckAirExists.cmake (new for Teem v2)
# CheckLibmNeeded.cmake (new for Teem v2)
+# DumpTarget.cmake (new for Teem v2)
# - src/bin/CMakeLists.txt
# - src/{air,biff,...}/CMakeLists.txt
# - CTestConfig.cmake
@@ -617,7 +618,8 @@
if(0)
include(DumpTarget)
- dump_target(Teem)
- dump_target(unu)
- dump_target(PNG::PNG)
+ dump_targets_all()
+ #dump_target(Teem)
+ #dump_target(unu)
+ #dump_target(PNG::PNG)
endif()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|