(小记)cmake:四

CMakeCache.txt

可以将其想象成一个配置文件(在Unix环境下,我们可以认为它等价于传递给configure的参数)。

  • CMakeLists.txt 中通过 set(... CACHE ...) 设置的变量
  • CMakeLists.txt 中的 option() 提供的选项
  • CMakeLists.txt 中find_package() 等find命令引入变量
  • 命令行 cmake . -D <var>:<type>=<value> 定义变量

cmake 第一次运行时将生成 CMakeCache.txt 文件,我们可以通过ccmake或cmake-gui或make edit_cache对其进行编辑。

对应于命令行 -D 定义变量,-U 用来删除变量(支持globbing_expr),比如 cmake -U/*QT/* 将删除所有名字中带有QT的cache项。

变量与Cache

cmake 的变量系统远比第一眼看上去复杂:

  • 有些变量被cache,有些则不被cache
  • 被cache的变量
    • 有的不能通过ccmake等进行编辑(internal)
    • 有的(带有描述和类型)可以被编辑(external)
      • 有的只在ccmake的 advanced 模式出现

看个例子:

  • SET(var1 13)
    • 变量 var1 被设置成 13
    • 如果 var1 在cache中已经存在,该命令不会overwrite cache中的值
  • SET(var1 13 ... CACHE ...)
    • 如果cache存在该变量,使用cache中变量
    • 如果cache中不存在,将该值写入cache
  • SET(var1 13 ... CACHE ... FORCE)
    • 不论cache中是否存在,始终使用该值

要习惯用帮助

cmake --help-command SET

find_xxx

为了避免每次运行都要进行头文件和库文件的探测,以及考虑到允许用户通过ccmake设置头文件路径和库文件的重要性,这些东西必须进行cache。

  • find_path 和 find_library 会自动cache他们的变量,如果变量已经存在且是一个有效值(即不是 -NOTFOUND 或 undefined),他们将什么都不做。
  • 另一方面,模块查找时输出的变量(<name>_FOUND,<name>_INCLUDE_DIRS,<name>_LIBRARIES)不应该被cache

参考

转载于:https://my.oschina.net/chaenomeles/blog/908891

<think>好的,我现在需要帮助用户在VSCode中正确设置CMake路径。根据用户提供的引用内容,我需要先整理出具体的步骤。 首先,引用[1]提到需要从CMake官网下载二进制包,而不是源代码。用户下载后解压,然后将bin目录添加到系统环境变量。这可能涉及到如何找到环境变量设置的地方,比如在Windows系统中是通过系统属性里的高级设置。这部分需要详细说明,确保用户能正确添加路径。 接下来,引用[2]说明在VSCode中通过命令面板执行CMake快速入门,生成相关文件。不过用户的问题是关于路径配置,可能需要检查CMake在VSCode中的扩展设置是否正确指向了CMake.exe的位置。例如,安装CMake Tools扩展后,在设置里指定CMake路径,或者在用户设置中修改cmake.cmakePath的值。 另外,引用[3]提到CMake是跨平台的构建系统,用户可能在Linux或macOS上操作,但根据引用内容中的示例,可能用户使用的是Windows。不过还是需要考虑不同系统的路径差异,比如在Linux下可能需要通过命令行安装或源码编译,但用户已经下载了二进制包,所以重点应在环境变量和VSCode配置上。 用户可能遇到的常见问题包括:环境变量未正确设置导致命令行无法识别cmake命令,或者VSCode的CMake扩展未找到CMake路径。需要分步骤指导用户检查这两部分。例如,首先在终端输入cmake --version确认是否安装成功,如果失败,说明环境变量有问题。然后在VSCode中检查CMake Tools的配置,确保路径正确。 最后,生成相关问题时要围绕CMake配置、环境变量、VSCode扩展使用等方面,帮助用户进一步解决可能遇到的问题。</think>### 在 VSCode 中设置 CMake 路径的步骤 #### 1. **下载并安装 CMake** - 从 [CMake官网](https://cmake.org/download/) 下载预编译的二进制包(选择 `Windows x64 ZIP` 或其他对应系统的版本)[^1]。 - 解压到指定目录(例如 `D:\CMake`),确保解压后的目录包含 `bin` 文件夹,其中包含 `cmake.exe`。 #### 2. **添加 CMake 到系统环境变量** - 将 CMake 的 `bin` 目录(例如 `D:\CMake\bin`)添加到系统环境变量 `PATH` 中: - Windows: 打开「系统属性」→「高级」→「环境变量」→ 编辑「Path」→ 添加 CMake 的 `bin` 路径。 - Linux/macOS: 在终端中编辑 `~/.bashrc` 或 `~/.zshrc`,添加 `export PATH="/path/to/cmake/bin:$PATH"`,然后运行 `source ~/.bashrc`。 #### 3. **验证 CMake 安装** - 打开终端或命令提示符,输入: ```bash cmake --version ``` 若显示版本信息(例如 `CMake 3.28.3`),则安装成功。 #### 4. **在 VSCode 中配置 CMake 路径** - **方法一(推荐):通过 CMake Tools 扩展** 1. 安装 [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) 扩展。 2. 按下 `Ctrl+Shift+P` 打开命令面板,输入 `CMake: Scan for Kits`,等待自动检测到 CMake。 3. 若未自动检测到,手动配置: - 打开 VSCode 设置(`Ctrl+,`),搜索 `Cmake: Cmake Path`。 - 输入 CMake 可执行文件的完整路径(例如 `D:\CMake\bin\cmake.exe`)[^2]。 - **方法二:通过用户设置文件** 1. 打开 `settings.json`(命令面板输入 `Preferences: Open User Settings (JSON)`)。 2. 添加以下配置: ```json { "cmake.cmakePath": "D:\\CMake\\bin\\cmake.exe" } ``` #### 5. **测试 CMake 项目** - 新建文件夹并用 VSCode 打开,运行 `CMake: Quick Start` 生成项目模板。 - 编写代码后,使用 `CMake: Build` 编译项目。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值