2016-05-15 53 views
0

我在資源目錄'着色器'中有一些着色器文件。我希望我的應用程序在構建之前每次在其中的一個文件內發生更改時將此文件夾複製到運行時目錄。我怎樣才能做到這一點?如何重建cmake中的資源文件更改?

現在,我這個在這裏使用:

add_custom_command(TARGET my_app PRE_BUILD 
     COMMAND rm ARGS -rf ${CMAKE_CURRENT_BINARY_DIR}/Shaders 
     COMMAND cp ARGS -a ${CMAKE_CURRENT_SOURCE_DIR}/my_app/Viewer/Shaders ${CMAKE_CURRENT_BINARY_DIR} 
     ) 

但是這時候我改變另一個文件中,這樣一個內置的需要,而不是着色器文件本身不只是工作。我能做什麼?

回答

0

我所知道想通了要工作會在這裏:

file(GLOB shaders "${CMAKE_CURRENT_SOURCE_DIR}/my_app/Viewer/Shaders/*") 
message(status Copy shaders) 
foreach(shader ${shaders}) 
    message(status "From ${shader}") 
    get_filename_component(outputFileName ${shader} NAME) 
    message(status "To ${CMAKE_CURRENT_BINARY_DIR}/Shaders/${outputFileName}") 
    configure_file(${shader} ${CMAKE_CURRENT_BINARY_DIR}/Shaders/${outputFileName} COPYONLY) 
endforeach() 
相關問題