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