如何在VSCode中向CMake传递命令行参数?

15

我克隆了一个GitHub存储库。它已经设置为使用cmake构建。现在我想在VSCode中构建它,但我找不到设置cmake命令行参数的地方。

当我在VSCode中执行cmake配置时,它抱怨找不到一些头文件或库。我在终端中测试时,当我设置-D参数时,可以解决此错误。

因此,我想知道是否有地方可以在VSCode中传递cmake命令行参数?

非常感谢!


有人知道如何将参数传递给底部状态栏上的“运行”按钮吗?我没有看到任何设置可以修改这个。例如,如果我想像这样运行我的二进制文件 ./binary -c config,有什么办法吗? - Raaka
2个回答

19

在VSCode中传递信息给CMake是通过 settings.json 文件完成的。

首先需要安装CMake Tools扩展。

然后,在VSCode中使用快捷键Ctrl+Shift+P打开命令面板,并输入Open Settings

选择后,VSCode将显示一个settings.json文件,在其中添加cmake.configureArgs,例如:

{
 "other":"settings",
 "cmake.configureArgs": [
        "-DOPTIONA=ON",
        "-DOPTIONB=ON"
    ],
}

cmake.configureArgs数组中的参数与您通常在命令行中使用的cmake configure参数相同,例如。

cmake -DOPTIONA=ON -DOPTIONB=ON ..

我需要使用"-DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake"来集成vcpkg。谢谢。 - Yomi1984
附注:这将全局保存CMake命令行参数。如果您需要每个项目的配置,请将这些设置保存到${project_dir}/.vscode/settings.json - undefined

0
一般来说,可以通过在settings.json文件中指定cmake.configureArgs来提供命令行参数,就像Jan Gabriel的回答所示。
但是还有另一个设置(也在settings.json中)专门用于-D参数。
{
    "cmake.configureSettings": {
        "OPTIONA": "ON",
        "OPTIONB": "ON"
    }
}

查看{{link1}}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接