标签: fetchcontent
与该标签相关的所有文章 "fetchcontent".
-
C++ 工程化(一):Modern CMake 的核心是 target-based 与传递性语义
CMake 不是构建系统而是构建系统生成器(读 CMakeLists.txt → 生成 Makefile / Ninja / VS 工程 / Xcode 工程)。Old-Style CMake 靠 includedirectories、adddefinitions 这种全局命令驱动,无作用域、无传递性、无法组合;Modern CMake(3.15+ 是真正的基线)把一切挂在 target 上,用 PUBLIC/PRIVATE/INTERFACE 显式表达"这个使用需求是只给我自己用,还是要传递给 consumer"。掌握这三个关键字 + generator expressions($<...>)+ CMakePresets.json + FetchContent,就写得出 2026 年的 idiomatic CMake。