cmake add_executable add_library
时间: 2024-09-14 16:07:04 浏览: 52
CMake 是一个跨平台的自动化构建系统,它使用 CMakeLists.txt 文件来控制软件的编译过程。CMake 提供了一系列命令来添加可执行文件和库文件到构建过程中。
`add_executable` 命令用于从指定的源文件列表创建一个可执行文件。基本语法如下:
```cmake
add_executable(<name> [WIN32] [MACOSX_BUNDLE]
[EXCLUDE_FROM_ALL]
[source1] [source2 ...])
```
其中 `<name>` 是目标可执行文件的名称,后面的参数是可选的,`WIN32` 指定生成的可执行文件适用于 Windows 系统,`MACOSX_BUNDLE` 用于生成 MacOS 系统下的应用程序包,`EXCLUDE_FROM_ALL` 表示该目标不会从 CMakeLists.txt 的顶级级别自动构建。源文件列表列出了创建该可执行文件所需的所有源代码文件。
`add_library` 命令用于创建一个库文件。基本语法如下:
```cmake
add_library(<name> [STATIC | SHARED | MODULE | OBJECT | INTERFACE]
[EXCLUDE_FROM_ALL]
[source1] [source2 ...])
```
其中 `<name>` 是目标库文件的名称,`STATIC`、`SHARED`、`MODULE`、`OBJECT`、`INTERFACE` 指定了库文件的类型。`STATIC` 表示生成静态库,`SHARED` 表示生成动态链接库,`MODULE` 用于插件等模块化的动态库,`OBJECT` 用于创建对象文件集合,`INTERFACE` 用于定义接口目标,这些接口目标可以被其他目标使用。与 `add_executable` 类似,`EXCLUDE_FROM_ALL` 用于表示该目标不应从顶级构建。
使用 `add_executable` 和 `add_library` 可以在 CMake 中定义项目结构,它们是项目构建过程中的基础组件。
阅读全文