CLion hakkında basit bir proje oluşturmaya çalışıyorum. Proje (veya bir çeşit) oluşturmak için Makefiles oluşturmak için CMake (burada yeniyim) kullanıyor
Tek ihtiyacım olan proje dışı bir dosyayı (bir çeşit kaynak dosyası), kodumu her çalıştırdığımda ikili dizine aktarmak.
Bu dosya test verilerini içerir ve uygulama onları okumak için açar. Bunu yapmanın birkaç yolunu denedim:
Üzerinden
file(COPY ...
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/input.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/input.txt
İyi görünüyor, ancak yalnızca bir kez çalışıyor ve bir sonraki çalıştırmadan sonra dosyayı yeniden kopyalamıyor.
Üzerinden
add_custom_command
OUTPUT
versiyonadd_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
versiyonadd_custom_target(foo) add_custom_command( TARGET foo COMMAND ${CMAKE_COMMAND} copy ${CMAKE_CURRENT_BINARY_DIR}/test/input.txt ${CMAKE_SOURCE_DIR})
Ama hiçbiri işe yaramıyor.
Neyi yanlış yapıyorum?
configure_file
Bir dosya listesi oluşturmak için GLOB kullansanız bile, bunun alt dizinlerle çalışmayacağını lütfen unutmayın .