cmake 引入子项目
时间: 2023-07-17 20:57:46 浏览: 91
在 CMake 中引入子项目可以通过 `add_subdirectory()` 命令实现。这个命令用于将子目录中的 CMakeLists.txt 文件添加到当前项目中。
以下是一个示例:
假设你有一个主项目的目录结构如下:
```
- main_project/
- CMakeLists.txt
- src/
- include/
```
现在你想引入一个名为 "sub_project" 的子项目,其目录结构如下:
```
- sub_project/
- CMakeLists.txt
- src/
- include/
```
在主项目的 CMakeLists.txt 文件中,使用 `add_subdirectory()` 命令来引入子项目:
```cmake
# 主项目的 CMakeLists.txt
# 设置主项目的源文件和头文件
set(SOURCES
src/main.cpp
)
set(HEADERS
include/main.h
)
# 添加子项目
add_subdirectory(sub_project)
# 主项目的构建规则
add_executable(main_project ${SOURCES} ${HEADERS})
target_link_libraries(main_project sub_project)
```
在子项目的 CMakeLists.txt 文件中,你可以定义子项目的构建规则:
```cmake
# 子项目的 CMakeLists.txt
# 设置子项目的源文件和头文件
set(SOURCES
src/sub.cpp
)
set(HEADERS
include/sub.h
)
# 子项目的构建规则
add_library(sub_project ${SOURCES} ${HEADERS})
```
通过这样的设置,主项目会在构建时同时构建子项目,并将子项目链接到主项目中。
请注意,子项目的构建规则可以根据实际需求进行调整。这只是一个简单示例,你可以根据你的项目结构和需求进行适当修改。
阅读全文