我正在尝试创建一个简单的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
变量?
谢谢你们, 拉斐尔。
答案 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})