Directx 如何使用cmake编译.fx文件
根据,建议在构建过程中使用fxc编译.fx效果文件。给定一个fx文件列表,我如何告诉cmake向我的项目文件(VS2010)中添加一些 用于查找Directx 如何使用cmake编译.fx文件,directx,cmake,directx-11,Directx,Cmake,Directx 11,根据,建议在构建过程中使用fxc编译.fx效果文件。给定一个fx文件列表,我如何告诉cmake向我的项目文件(VS2010)中添加一些 用于查找fxc并生成: 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)
fxc
并生成:
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
的正确方法,但您可以修改它。还要注意,这不会将对象文件链接到它们需要去的任何地方。这可能会对您有所帮助。它们根本不需要链接-它们稍后由可执行文件加载。如何将它们添加到目标中,以便在源代码更改时生成它们?@ltjax:Edited。注意add_custom_target
和add_dependencies
调用。fx编译器是否输出.obj
文件?工作起来很有魅力。有没有办法将源文件添加到该目标,以便它们显示在VS解决方案资源管理器中?@ltjax:我从未使用过visual studio生成器,所以我不知道。很抱歉也许source\u group
命令可以执行您想要的操作。