Próbuję stworzyć prosty projekt na CLion. Używa CMake (jestem tutaj nowy) do generowania plików Makefile do budowania projektu (lub czegoś w tym rodzaju)
Wszystko, czego potrzebuję, to przenieść jakiś plik niebędący projektem (jakiś rodzaj pliku zasobów) do katalogu binarnego za każdym razem, gdy uruchamiam mój kod.
Ten plik zawiera dane testowe i aplikacja otwiera go, aby je odczytać. Próbowałem to zrobić na kilka sposobów:
Przez
file(COPY ...
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/input.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/input.txt
Wygląda dobrze, ale działa tylko raz i nie kopiuje ponownie pliku po następnym uruchomieniu.
Przez
add_custom_command
OUTPUT
wersjaadd_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
wersjaadd_custom_target(foo) add_custom_command( TARGET foo COMMAND ${CMAKE_COMMAND} copy ${CMAKE_CURRENT_BINARY_DIR}/test/input.txt ${CMAKE_SOURCE_DIR})
Ale nikt z tego nie działa.
Co ja robię źle?
configure_file
nie będzie działać z podkatalogami, nawet jeśli używasz GLOB do tworzenia listy plików.