cmake 生成多目标文件
时间: 2023-11-08 15:09:34 浏览: 135
使用 CMake 生成多目标文件可以使用 `add_executable` 和 `add_library` 命令。其中,`add_executable` 用于生成可执行文件,`add_library` 用于生成库文件。
假设我们有以下的源文件:
```
src/main.cpp
src/func1.cpp
src/func2.cpp
```
我们可以使用以下的 CMakeLists.txt 文件来生成多个可执行文件和一个库文件:
```cmake
cmake_minimum_required(VERSION 3.10)
project(MyProject)
# 生成一个库文件
add_library(MyLib STATIC src/func1.cpp src/func2.cpp)
# 生成可执行文件1
add_executable(MyApp1 src/main.cpp)
target_link_libraries(MyApp1 MyLib)
# 生成可执行文件2
add_executable(MyApp2 src/main.cpp)
target_link_libraries(MyApp2 MyLib)
```
在上面的 CMakeLists.txt 文件中,`add_library` 命令用于生成一个名为 `MyLib` 的静态库文件,它包含了 `src/func1.cpp` 和 `src/func2.cpp` 两个源文件。接着我们使用 `add_executable` 命令分别生成了两个可执行文件 `MyApp1` 和 `MyApp2`,并且通过 `target_link_libraries` 命令将 `MyLib` 库文件链接到这两个可执行文件中。
使用以上的 CMakeLists.txt 文件,我们可以在构建项目时同时生成多个可执行文件和一个库文件。
阅读全文