根据this MSDN blog entry,建议使用fxc编译.fx效果文件,作为构建过程的一部分。给定一个fx文件列表,如何告诉cmake将一些添加到我的项目文件(VS2010)?
答案 0 :(得分:3)
使用find_program
查找要构建的fxc
和add_custom_command
:
find_program(FXC fxc DOC "fx compiler")
if(NOT FXC)
message(SEND_ERROR "Cannot find fxc.")
endif(NOT FXC)
add_custom_target(fx ALL)
foreach(FILE foo.fx bar.fx baz.fx)
get_filename_component(FILE_WE ${FILE} NAME_WE)
add_custom_command(OUTPUT ${FILE_WE}.obj
COMMAND ${FXC} /Fo ${FILE_WE}.obj ${FILE}
MAIN_DEPENDENCY ${FILE}
COMMENT "Effect-compile ${FILE}"
VERBATIM)
add_dependencies(fx ${FILE_WE}.obj)
endforeach(FILE)
不是Windows用户,我不确定这是否是调用fxc
的正确方法,但你可以修补它。另请注意,这不会将目标文件链接到需要的位置。这mailing list post可能会对您有所帮助。