Copy-Datei vom Quellverzeichnis in das Binärverzeichnis mit CMake

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 die Anwendung öffnet sie, um sie zu lesen. Ich habe verschiedene Möglichkeiten ausprobiert:

Viafile(COPY ...

file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/input.txt
        DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/input.txt

Sieht gut aus, funktioniert aber nur einmal und kopiert die Datei nach dem nächsten Start nicht erneut.

Viaadd_custom_command

OUTPUT Ausführun

add_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)

TARGET Ausführun

add_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

Antworten auf die Frage(8)

Ihre Antwort auf die Frage