Die binäre Verzeichnisstruktur meines Projekts ist derzeit wie folgt aus (Windows):CMake Post-Build-Event: Die Kopie erstellt Bibliotheken
bin/mainProject/{Debug,Release}
bin/library1/{Debug,Release}
bin/library2/{Debug,Release}
...
bin/libraryN/{Debug,Release}
Ich möchte die Bibliotheken library1lib.dll
, kopieren ... libraryNlib.dll
zu das Verzeichnis bin/mainProject/{Debug,Release}
, sobald sie erstellt wurden.
Für CMake, ich denke, das ist machbar ist, ein Post-Build-Ereignis verwenden, daher habe ich versucht habe, diese zu jedem der Bibliotheken CMakeLists.txt
:
add_custom_command(TARGET library1 POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/library1lib.dll
${CMAKE_BINARY_DIR}/mainProject/${CMAKE_BUILD_TYPE}/
)
Derzeit gibt es zwei Probleme:
${CMAKE_BUILD_TYPE}
scheint nicht definiert zu sein, zumindest bekomme ich eine leere Zeichenfolge für diese Variable im Ausgabefenster.- Gibt es eine Möglichkeit, das Post-Build-Ereignis generischer zu machen? Wie ersetzen Sie den tatsächlichen DLL-Namen durch eine Variable?