2016-04-29 13 views
1

Ich muss DLLs in einen Ordner kopieren, während ich meine Lösung erstelle. Die Struktur der Cmake wie folgt:Wie kopiert man die DLL mit cmake?

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

Also, ich xyz.dll auf ":/target/Laufzeit/bin D" kopieren möchten. Ich tat wie folgt in 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>) 

Aber es kopiert keine DLL. Also, schlage mir vor, wie ich es erreiche. Ich bin nicht sehr vertraut mit CMake. Also, bitte schlagen Sie vor.

+0

Lassen Sie die dll, wo es ist, und ändern in dem anderen Projekt verknüpfen. Verwenden Sie 'find_library' dort. – usr1234567

+0

versuchen Sie es mit 'make VERBOSE = 1' und suchen Sie nach der Zeile' copy_if_different ... '. Kopiert es dorthin, wo Sie es erwarten? Beachten Sie auch, dass es nicht kopiert wird, wenn Ihr Ziel "Leistung" auf dem neuesten Stand ist. –

Antwort

0

Ich verwende den configure_file() Befehl für diesen Zweck.

Probieren Sie etwas wie

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