Разбираем, почему «глобальная магия» вроде
CMAKE_CXX_FLAGS и
include_directories плохо масштабируется, и как перейти к дисциплине target‑подхода: задавать стандарт через
target_compile_features (например,
cxx_std_23), макросы — через
target_compile_definitions, а предупреждения и флаги компилятора — через
target_compile_options. Отдельно фиксируем идею видимости требований (
PRIVATE/
PUBLIC/
INTERFACE) и собираем мини‑проект MiniCalc.