Support for internal build interfaces
$<BUILD_INTERFACE>
does this somewhat, but the exported build configuration target's properties still have these set. For things like project-local warning, compiler, or other such things, the ability to hide from any export would be useful. Something like $<NO_EXPORT:>
maybe? Of course, $<INTERNAL_INTERFACE>
, $<INTERNAL>
, $<PRIVATE>
, $<PROJECT_LOCAL>
, or $<PROJECT_INTERFACE>
may be a better spellings.
This would allow using an interface target to put these on any relevant targets without having to export the interface target at all.
Existing use cases where this would help:
- VTK's warning flags (see vtk/vtk!8843 (merged))
- VTK sanitizer settings shouldn't affect those that use the build tree versus its install tree