避免在CMake add_custom_command中引用

时间:2012-03-26 10:04:36

标签: cmake quotes

我正在尝试创建一个简单的batcher,它在一组文件上运行脚本。

因此,在globbed文件之后,我创建了以下自定义命令来执行脚本:

add_custom_command(OUTPUT ${RESOURCE_GFX} COMMAND ${EXE_GFX_EXPORT} ${GFX_EXPORT_PARAMETERS} ${RESOURCE_SWF})

其中EXE_GFX_EXPORT是脚本程序,类似于C:\Program Files (x86)\Scaleform\GFx SDK 3.1\Bin\gfxexport.exe; RESOURCE_SWF是脚本运行的文件; GFX_EXPORT_PARAMETERS是脚本的参数,其形式为-i DDS -share_images -qp

CMake“翻译”此自定义命令:

"C:\Program Files (x86)\Scaleform\GFx SDK 3.1\Bin\gfxexport.exe" "-i DDS -share_images -qp" "C:\path\to\file.swf"

但是gfxexport.exe无法处理双引号括起来的参数。有没有办法避免CMake自动将它们放在GFX_EXPORT_PARAMETERS变量?

谢谢你们, 拉斐尔。

1 个答案:

答案 0 :(得分:10)

在调用GFX_EXPORT_PARAMETERS之前,请尝试使用参数add_custom_command上的separate_arguments函数:

separate_arguments(GFX_EXPORT_PARAMETERS_LIST WINDOWS_COMMAND "${GFX_EXPORT_PARAMETERS}")
add_custom_command(OUTPUT ${RESOURCE_GFX} COMMAND ${EXE_GFX_EXPORT} ${GFX_EXPORT_PARAMETERS_LIST} ${RESOURCE_SWF})