3
根据this MSDN blog entry,建议使用fxc编译.fx效果文件作为构建过程的一部分。给定一个fx文件的列表,我如何告诉cmake添加一些到我的项目文件(VS2010)?如何使用cmake编译.fx文件
根据this MSDN blog entry,建议使用fxc编译.fx效果文件作为构建过程的一部分。给定一个fx文件的列表,我如何告诉cmake添加一些到我的项目文件(VS2010)?如何使用cmake编译.fx文件
使用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可能会帮助你。
它们根本不需要链接 - 它们稍后由可执行文件加载。我如何将它们添加到目标中,以便在它们的源更改时生成它们? – ltjax 2012-08-13 10:14:59
@ltjax:编辑。请注意'add_custom_target'和'add_dependencies'调用。 fx编译器是否输出'.obj'文件? – 2012-08-13 11:05:47
工程就像一个魅力。任何方式我可以将源文件添加到该目标,以便他们出现在VS解决方案资源管理器中? – ltjax 2012-08-15 13:30:06