Difference between PUBLIC and INTERFACE is not stated

Is it what you needed?

it’s also the same for target_compile_features by the way (just replace definition or dependency by feature)