cmake 子目录中使用多个CMake文件
时间: 2024-05-15 13:13:53 浏览: 87
CMake添加引用多个子目录多个CMakeLists同时编译
5星 · 资源好评率100%
在 CMake 中,可以使用 `add_subdirectory()` 命令来添加子目录,并且在子目录中使用一个或多个 CMake 文件。
假设我们有一个主目录 `project`,其中包含一个 `CMakeLists.txt` 文件,以及两个子目录 `subdir1` 和 `subdir2`。我们可以在 `project/CMakeLists.txt` 文件中添加以下代码:
```cmake
# 添加子目录 subdir1
add_subdirectory(subdir1)
# 添加子目录 subdir2
add_subdirectory(subdir2)
```
然后,在 `project/subdir1/CMakeLists.txt` 文件和 `project/subdir2/CMakeLists.txt` 文件中,可以使用 CMake 命令来构建项目。
例如,在 `project/subdir1/CMakeLists.txt` 文件中,可以添加以下代码:
```cmake
# 添加可执行文件
add_executable(subdir1_exe main.cpp)
# 添加链接库
target_link_libraries(subdir1_exe my_lib)
```
在 `project/subdir2/CMakeLists.txt` 文件中,可以添加以下代码:
```cmake
# 添加库
add_library(my_lib my_lib.cpp my_lib.h)
# 添加可执行文件
add_executable(subdir2_exe main.cpp)
# 添加链接库
target_link_libraries(subdir2_exe my_lib)
```
这样,我们就可以在 `project` 目录下运行 CMake 来构建整个项目,包括两个子目录的代码。
阅读全文