Ich versuche ein einfaches Projekt auf CLion zu erstellen. Es verwendet CMake (ich bin neu hier), um Makefiles zu generieren, um ein Projekt (oder eine Art davon) zu erstellen.
Alles, was ich tun muss, ist, jedes Mal, wenn ich meinen Code ausführe, eine Nicht-Projektdatei (eine Art Ressourcendatei) in ein Binärverzeichnis zu übertragen.
Diese Datei enthält Testdaten und wird von der Anwendung geöffnet, um sie zu lesen. Ich habe verschiedene Möglichkeiten ausprobiert:
Über
file(COPY ...file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/input.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/input.txtSieht gut aus, funktioniert aber nur einmal und kopiert die Datei nach dem nächsten Lauf nicht erneut.
Über
add_custom_commandOUTPUTAusführungadd_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/input.txt COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/input.txt ${CMAKE_CURRENT_BINARY_DIR}/input.txt)TARGETAusführungadd_custom_target(foo) add_custom_command( TARGET foo COMMAND ${CMAKE_COMMAND} copy ${CMAKE_CURRENT_BINARY_DIR}/test/input.txt ${CMAKE_SOURCE_DIR})
Aber niemand davon funktioniert.
Was mache ich falsch?
configure_filemit Unterverzeichnissen nicht funktioniert, selbst wenn Sie GLOB zum Erstellen einer Liste von Dateien verwenden.