cmake多模块构建例子
时间: 2023-12-28 09:02:26 浏览: 68
cmake创建多工程例子
CMake是一个跨平台的构建工具,在多模块项目中可以方便地构建和管理。以下是一个使用CMake构建多模块项目的例子。
假设我们有一个项目包括三个子模块:模块A、模块B和模块C。在项目的根目录下,我们可以创建一个CMakeLists.txt文件来管理整个项目的构建过程。
```cmake
# 根目录的CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(MyProject)
# 添加子模块A
add_subdirectory(moduleA)
# 添加子模块B
add_subdirectory(moduleB)
# 添加子模块C
add_subdirectory(moduleC)
```
然后在每个子模块的目录下分别创建一个CMakeLists.txt文件来描述各个子模块的构建过程:
```cmake
# 模块A的CMakeLists.txt
# 设置模块A的源文件
set(SOURCES
sourceA1.cpp
sourceA2.cpp
)
# 生成模块A的静态库
add_library(moduleA STATIC ${SOURCES})
```
```cmake
# 模块B的CMakeLists.txt
# 设置模块B的源文件
set(SOURCES
sourceB1.cpp
sourceB2.cpp
)
# 生成模块B的可执行文件
add_executable(moduleB ${SOURCES})
```
```cmake
# 模块C的CMakeLists.txt
# 设置模块C的源文件
set(SOURCES
sourceC1.cpp
sourceC2.cpp
)
# 生成模块C的动态库
add_library(moduleC SHARED ${SOURCES})
```
这样,通过CMake来管理多模块项目的构建过程,可以让项目的结构更加清晰,同时也能方便地管理各个子模块之间的依赖关系,从而更加高效地进行项目开发和维护。
阅读全文