regex - 自定义目标命令的CMake括号转义字符

标签 regex bash cmake makefile

我需要括号转义字符来避免在将 make 命令解析为 add_custom_target 时在 CMake 中引用特殊字符。根据我的理解,这更像是一个语法问题,CMake 文档中没有涉及。

一个例子是:

add_custom_target ( defined_path ALL .exe <args1> | ( ! grep ... )

在此示例中,扩展名为 <args1>解析为 | "(" grep ... ")" .不幸的是,在方括号前附加反斜杠仅适用于字符串情况,即分配给带有集合的变量:set ( something "\(" ) .即使这样,变量本身也会在 build.make 中被引号包围。同样,使用 separate_arguments 解析预先格式化的列表也会使用引号解析。

没有make格式的完整命令执行成功。

最佳答案

Cmake 需要在目标命令中显式调用 shell

关于regex - 自定义目标命令的CMake括号转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31722618/

相关文章:

json - 用jq模式匹配字段名称

Bash 参数扩展 ${parameter/pattern/string} 带引号

bash - 通过 (*) 星号将文件添加到 for 循环中的变量

visual-studio-2010 - 如何在 CMake 中添加 Windows 库?

javascript - 正则表达式从矩阵字符串中获取单位

php - 在 PHP 中确定和删除字符串中的不可见字符 (%E2%80%8E)

javascript - 将正则表达式 "."放在文本框的按键上

bash - 使用带有 yt-download 和 ffmpeg 的 bash 脚本来提取或隐藏,具体取决于格式

c++ - 在 OSX 10.11(CLion 1.1 中的 CMake 3.3)上使用 SDL2 和 SDL2_image

使用编译的 OpenCV 版本进行 Cmake