Introduction 近日某个项目临近结束,书文档,写配置,发现网上的 CMake 教程颇旧,混乱不堪,且缺乏实际作用,难及需求。遂系统读了一些 Modern CMake 资料,撰文记录,以供参考。 实际项目包含上万行代码,依赖三四个第三方库,欲生成支持 find_package() 查找的动态库,并自动传递依赖,供用户直接使用。 下面将其简化为一最小示例,便于演示流程。示例项目结构为: mylib/ ├─ inc/ │ ├─ mylib/ │ │ ├─ lib.h ├─ src/ │ ├─ lib.cc ├─ CMakeLists.txt lib.h 和 lib.cc 内容为: // inc/mylib/lib.h #ifndef LIB_H_ #define LIB_H_ namespace mylib { void foo(); void bar(); } // namespace mylib #endif… Continue Reading Configuring Transitive Dependencies with Modern CMake