cmakelists.txt 多文件夹
时间: 2023-09-30 15:07:58 浏览: 107
CMakeLists.txt
5星 · 资源好评率100%
如果您需要在 CMake 中处理多个文件夹,则需要在项目的根目录中创建一个 CMakeLists.txt 文件,并使用 `add_subdirectory` 命令将每个子目录添加到您的项目中。这样,您就可以通过在根目录中运行 `cmake` 命令来生成整个项目。
以下是一个示例 CMakeLists.txt 文件,其中包含两个子目录:
```
cmake_minimum_required(VERSION 3.10)
project(MyProject)
# 添加子目录
add_subdirectory(src)
add_subdirectory(tests)
```
在这个示例中,我们添加了 `src` 和 `tests` 两个子目录。我们需要在这些子目录中分别创建 CMakeLists.txt 文件,并在其中指定该目录下的源文件和目标库/可执行文件等信息。
例如,在 `src` 目录中创建一个 CMakeLists.txt 文件,指定源文件和可执行文件:
```
# 指定源文件
set(SRC_FILES
main.cpp
foo.cpp
bar.cpp
)
# 生成可执行文件
add_executable(MyExecutable ${SRC_FILES})
```
在 `tests` 目录中,我们可以创建一个 CMakeLists.txt 文件来指定测试文件和测试可执行文件:
```
# 指定测试文件
set(TEST_FILES
test_foo.cpp
test_bar.cpp
)
# 生成测试可执行文件
add_executable(MyTests ${TEST_FILES})
# 链接测试库
target_link_libraries(MyTests MyLibrary)
```
通过这种方式,我们可以使用 CMake 处理整个项目,包括多个子目录中的源代码和测试文件。
阅读全文