Modern CMake: Target-Based API & Generator Expressions for Clean, Maintainable Builds
Modern CMake’s target‑based API replaces global settings with per‑target visibility, using PUBLIC/PRIVATE/INTERFACE and generator expressions for conditional compile flags. A three‑target example shows how the rules propagate and keep Debug/Release builds separate.