VS Code 使用 CMake 构建项目

安装必要插件

  • CMake
  • CMake Tools
  • C/C++

装好插件之后状态栏就可以看到一系列按钮,就可以愉快地使用了

01

传递参数到cmake

修改 settings.json,详见 https://github.com/microsoft/vscode-cmake-tools/blob/main/docs/cmake-settings.md

cmake.configureSettings 传递到 configure 阶段,即 -D 选项

cmake.configureArgs 上述等效命令,官方更推荐上者

cmake.parallelJobs 编译并发数,即 make -j 25

cmake.buildDirectory 可以类似成 clion 那种风格

cmake.copyCompileCommands 将 compile_commands.json 拷贝到指定文件,自定义了 buildDirectory 后需要拷贝到 build 目录下,不然 clangd 找不到

cmake.debugConfig 点击状态栏运行或调试按钮时的配置

  • environment 环境变量
  • args 传递给可执行文件的参数
{
  "cmake.configureSettings": {
    "FOO": "foo",
    "TOOLS_BUILD": true
  },
  "cmake.configureArgs": [
    "-DFOO=foo",
    "-DTOOLS_BUILD=1"
  ],
  "cmake.buildDirectory": "${workspaceFolder}/cmake-build-${buildType}",
  "cmake.copyCompileCommands": "${workspaceFolder}/build/compile_commands.json",
  "cmake.parallelJobs": 25,
  "cmake.debugConfig": {
    "environment": [
      {
        "name": "LD_LIBRARY_PATH",
        "value": "${command:cmake.launchTargetDirectory}/lib"
      },
      {
        "name": "PATH",
        "value": "${env:PATH}:${command:cmake.launchTargetDirectory}"
      }
    ],
    "args": [
      "-c",
      "config.json"
    ]
  }
}