CMake 是否有来自 Make 的 % 替换支持?
我的构建过程中需要一系列文件处理。可以轻松地围绕文件名指定和构建工作流程,只需更改扩展名,例如 file.a ->文件.b ->文件.c。因此,这显然是 Make 声明性语法的一个例子。但正如我所见,对于 CMake 来说,这看起来像是针对每个处理步骤的每个文件的显式 add_custom_command 。
因此,问题是 CMake 是否支持像 Make 中的 % 之类的替换,以便只需要每个处理步骤的一般规则。
我想象这样的:
add_custom_command(OUTPUT %.b
COMMAND convert %.a > %.b
DEPENDS %.a)
add_custom_command(OUTPUT %.c
COMMAND convert %.b > %.c
DEPENDS %.b)
I need a chain of file processing in my build-process. Workflow can be easily specified and built around a filename, only extension changes, like file.a -> file.b -> file.c. So, it's clearly a case for Make's declarative syntax. But as I see, for CMake this will look like an explicit add_custom_command for each file for each step of processing.
So, the question is if CMake supports substitutions like % from Make, so that only general rules for each step of processing would be required.
I imagine this like:
add_custom_command(OUTPUT %.b
COMMAND convert %.a > %.b
DEPENDS %.a)
add_custom_command(OUTPUT %.c
COMMAND convert %.b > %.c
DEPENDS %.b)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不,CMake 不支持任何模式。人们通常使用宏作为解决方法。
人们不使用 CMake 是因为其优雅的语法及其表现力。
No, CMake does not have any support for patterns. People typically use macros as a workaround.
People don't use CMake because of the elegant syntax and its expressiveness.
你可以使用宏。
一个简单的例子:
You could use macros.
A simple example: