Stop Leaking Include Paths: Moving CMake from Global Flags to Target Properties
Global CMake commands like include_directories leak settings into unrelated targets. Switching to target properties with PRIVATE/INTERFACE/PUBLIC visibility fixes dependency management for good.