2016-04-29 35 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)