Files
cmake/Tests/RunCMake/cmake_language/PrintPropertiesAllFollowDependencies.cmake
T
Tom Osika 2a2012e913 cmake_language: Add PRINT_PROPERTIES operation
Print CMake entities' properties in human-readable form for debugging.

Issue: #27513
2026-08-10 17:41:05 -04:00

43 lines
1010 B
CMake

enable_language(C)
add_library(leaflib STATIC nothing.c)
set_target_properties(leaflib PROPERTIES
MY_PROP "leaf"
MY_PROP_2 "leaf2"
)
add_library(linkonlylib STATIC nothing.c)
set_target_properties(linkonlylib PROPERTIES
MY_PROP "linkonly"
MY_PROP_2 "linkonly2"
)
add_library(intermediate STATIC nothing.c)
target_link_libraries(intermediate
PRIVATE leaflib
INTERFACE $<LINK_ONLY:linkonlylib>
)
set_target_properties(intermediate PROPERTIES
MY_PROP "intermediate"
MY_PROP_2 "intermediate2"
)
add_library(mylib STATIC nothing.c)
target_link_libraries(mylib PUBLIC intermediate)
set_target_properties(mylib PROPERTIES
MY_PROP "mylib"
MY_PROP_2 "mylib2"
)
# ALL + FOLLOW_DEPENDENCIES with a tight name regex pins the unified
# printer's ALL branch: each reachable target's matching properties show
# up in walk order, covering PRIVATE and $<LINK_ONLY:> traversal.
cmake_language(
PRINT_PROPERTIES
TARGETS mylib
DEFERRED
FOLLOW_DEPENDENCIES
ALL
PROPERTY_NAME_REGEX "^MY_PROP"
)