gpt4 book ai didi

cmake 在 add_custom_target 命令中错误地解析参数

转载 作者:行者123 更新时间:2023-12-04 14:39:07 26 4
gpt4 key购买 nike

我写了一个这样的cmake命令:

add_custom_target(testar
COMMAND clearmake -C gnu ${CMD_ARGS})
CMD_ARGS在命令行上定义如下:
cmake -DCMD_ARGS="-d -w" 

但是在生成的makefile中, -d -w改为 -d\ -w ;它在所有空格之前添加了一个斜杠,结果是:
clearmake -C gnu -d\ -w 

如果我使用 VERBATIM add_custom_target 中的选项, cmake 不添加斜杠,但它引用了这样的参数
clearmake -C gnu "-d -w"

这是不正确的,我想:
clearmake -C gnu -d -w

生成上述目标所需的语法是什么?

最佳答案

参数预计为 list , 其中 "-d -w"不是(它只是一个字符串)。你可以做两件事:

  • 传入参数为 -DCMD_ARGS="-d;-w"(空格是分号)
  • 使用 separate_arguments命令在 CMD_ARGS在您将其传递给 add_custom_target 之前(这使空格分号生成正确的 list )。
  • add_custom_target 中没有任何内容命令需要更改,CMake 的输入不正确,可以用 1 修复或由 2 处理。

    关于cmake 在 add_custom_target 命令中错误地解析参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9080369/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com