如何转义 cmake 的 COMPILE_FLAGS 属性中的分号?
我需要在 msvc 生成器的预处理器定义中得到这个结果:
MYPATH=\"d:\\;.\\Lib\"
但是当我在 set_source_files_properties 中使用以下转义序列时:
set_source_files_properties(source.c PROPERTIES COMPILE_FLAGS "-DMYPATH=\\\"d:\\\;.\\\\Lib\\\"")
生成的结果是: MYPATH=\"d:\";".\Lib\ "
注意双引号分号。是否有一种引用解决方法可以允许不带引号的分号?
I need to get this as a result in the preprocessor definitions of the msvc generator:
MYPATH=\"d:\\;.\\Lib\"
But when I use the following escape sequence in set_source_files_properties:
set_source_files_properties(source.c PROPERTIES COMPILE_FLAGS "-DMYPATH=\\\"d:\\\;.\\\\Lib\\\"")
the generated result is: MYPATH=\"d:\";".\Lib\"
Note the double-quoted semicolon. Is there a quoting workaround to allow unquoted semicolons?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
AFAIR,cmake treat;作为列表分隔符,因此它的行为方式与文档中的属性相同。
PROPERTY [value1 [value2 ...]
也许你最好尝试这样的事情 - 使其成为字符串变量,然后尝试替换它。
哈特哈,
谢尔盖
AFAIR, cmake treat ; as list separator, so it behaves in such way for properties as per documentation.
PROPERTY [value1 [value2 ...]
Probably you've better to try something like this - make it string variable and then try substitute it.
HTH,
Sergey