2016-04-29 88 views
1

我在構建解決方案時必須將dll的文件複製到一個文件夾中。 cmake的結構如下:如何使用cmake複製dll的?

D:/src/cmakeLists.txt 
    D:/target/runtime/bin 
    D:/repos/stable/compiler/xyz.dll 

所以,我想xyz.dll複製到 「d:/目標/運行/ bin」 中。我做了如下cmake:

add_custom_command(TARGET performance POST_BUILD   
COMMAND ${CMAKE_COMMAND} -E copy_if_different 
    "${PROJECT_SOURCE_DIR}/libs/xyz.dll" 
    $<TARGET_FILE_DIR:performance>) 

但它沒有複製任何dll。所以,建議我如何實現它。我對cmake不太瞭解,所以請建議。

+0

離開DLL它在哪裏和修改其他項目的鏈接。在那裏使用'find_library'。 – usr1234567

+0

嘗試運行'make VERBOSE = 1'並尋找'copy_if_different ...'這一行。它是否複製到您期望的位置?另外請注意,如果您的目標「性能」是最新的,它將不會複製。 –

回答

0

爲此,我使用configure_file()命令。

嘗試像

configure_file("${PROJECT_SOURCE_DIR}/libs/xyz.dll" <TARGET_FILE_DIR:performance> COPYONLY)