c++ - 如何使用拆分为构建和源目录的基本目录来创建源外文件结构
问题描述
下面是一棵树,它代表了我希望在我的 CMake 项目中拥有的文件结构的抽象。
下面是我想在我的项目中包含的文件结构的抽象表示。但是,我不明白如何CMakeLists.txt
在以下位置配置文件:
- 顶级 CMakeList:
"./CMakeLists.txt"
- 源目录 CMakeList:
"./source/CMakeLists.txt"
以问题的形式提出:
如何在我的项目中配置 CMakeList.txt 文件,以便下面的文件树表示的文件结构将成功构建而不会出现任何错误?
.
│
│
├── build
│ └── // build dir contents...
│
├── source
│ ├── CMakeLists.txt
│ ├── main.cpp
│ ├── abstract-class.h
│ └── abstract-class.cpp
│
└── CMakeLists.txt (Top-level)
编辑:尝试增加清晰度:我希望能够从 './' 运行 cmake 并让它构建包含在源代码中的整个项目,并在其中创建整个构建、所有 cmake 文件和所有输出文件建造。我迷路的地方是如何CMakeLists.txt
在项目根目录中构建文件:./
. 因为可执行文件是在 src 目录中定义的,所以如果我从根目录运行 cmake,cmake 将不会构建它。
解决方案
推荐阅读
- c++ - C++ 后缀表示法 - 评估
- django - 渠道消费者垃圾收集器
- performance - SPARK mapToPair 和 saveToTextFile 我应该使用重新分区来优化性能吗
- firebase - 使用 Firebase 云功能的 Expo 推送通知
- sql - 在最近 3 个月的交易中,哪个产品类别的退货价值最高
- angular - Angular 电子邮件验证模式以严格执行该模式
- xstate - 无法为 xstate 创建子状态
- java - 尝试在空对象引用上调用虚拟方法“java.lang.String java.lang.String.toUpperCase()”
- excel - 工作簿中的 VBA ADO 连接到同一工作簿
- performance - Go Web 应用程序是否应该在一个模板中包含所有页面?