今天看啥  ›  专栏  ›  CPP开发者

Configuring Transitive Dependencies with Modern CMake

CPP开发者  · 公众号  ·  · 2024-05-20 09:24
    

文章预览

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   // LIB_H_ // src/lib.cc # include   # include   # include   # include   namespace  mylib { void   foo ()   {    std :: cout   < "hello torch\n";   torch::Tensor tensor =  ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览