cmake set和SET
时间: 2024-06-22 14:04:05 浏览: 102
`CMake` 是一个跨平台、开源的自动化构建系统,它用于生成不同平台(如Windows、Linux、macOS)上的编译器特定构建脚本。在 `CMake` 中,`set` 是一个非常基础且常用的命令,用于设置变量的值。`set` 函数有两个主要形式:
1. **基本形式**:
```bash
cmake_minimum_required(VERSION [version])
set(varname value [CACHE [PARENT_SCOPE]])
```
这里,`varname` 是要设置的变量名,`value` 是其新的值。`CACHE` 布尔选项表示该变量应该被缓存,以便于跨构建保存。`PARENT_SCOPE` 表示变量作用域,若省略则默认在当前工作目录或模块范围内。
2. **两个参数的形式**:
```bash
set(varname value1 value2 ...)
```
这种形式可以一次设置多个变量,每个值对应一个变量。
3. **四个参数的形式**:
```bash
set(varname value1 value2 ... PARENT_SCOPE)
```
这种形式同样支持多值设置,但强制设置了 `PARENT_SCOPE`。
`set` 命令不仅可以设置普通变量,还可以设置列表型(list)和哈希型(map)变量。例如:
- 列表:`set(list_var "element1" "element2" "element3")`
- 哈希(关联数组):`set(hash_var key1 "value1" key2 "value2")`
在 `CMake` 中,设置变量是配置过程的关键步骤,它决定了编译选项、库路径、目标名称等信息。了解如何正确使用 `set` 是编写 `CMakeLists.txt` 文件的基础。
阅读全文