首页 > 解决方案 > 如何使用拆分为构建和源目录的基本目录来创建源外文件结构

问题描述


下面是一棵树,它代表了我希望在我的 CMake 项目中拥有的文件结构的抽象。

下面是我想在我的项目中包含的文件结构的抽象表示。但是,我不明白如何CMakeLists.txt在以下位置配置文件:

  1. 顶级 CMakeList:   "./CMakeLists.txt"
  2. 源目录 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++cmake

解决方案


推荐阅读