From Global Includes to Target‑Based CMake: Why Visibility Matters
Modern CMake replaces global include/definition commands with target‑based properties. Learn how visibility keywords (PRIVATE, PUBLIC, INTERFACE) control propagation, see a concrete header‑only example, and understand trade‑offs like overusing PUBLIC.