They’re called “usage requirements” and are populated via target_link_libraries
calls. It is the same mechanism by which linking to a target with a target_include_directories(PUBLIC)
will add -I
flags for the headers to use the target, just for compile flags instead. Variables are scoped by directory and function, but usage requirements are scoped by target usage.