ฉันกำลังพยายามสร้างโปรเจ็กต์ง่ายๆบน CLion ใช้ CMake (ฉันใหม่ที่นี่) เพื่อสร้าง Makefiles เพื่อสร้างโครงการ (หรือบางประเภท)
สิ่งที่ฉันต้องทำคือถ่ายโอนไฟล์ที่ไม่ใช่โปรเจ็กต์ (ไฟล์ทรัพยากรบางประเภท) ไปยังไดเร็กทอรีไบนารีทุกครั้งเมื่อฉันเรียกใช้โค้ดของฉัน
ไฟล์นั้นมีข้อมูลการทดสอบและแอปพลิเคชันเปิดขึ้นเพื่ออ่าน ฉันลองทำหลายวิธี:
ผ่าน
file(COPY ...
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/input.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/input.txt
ดูดี แต่ใช้งานได้เพียงครั้งเดียวและไม่คัดลอกไฟล์หลังจากการรันครั้งต่อไป
ผ่าน
add_custom_command
OUTPUT
รุ่น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
รุ่นadd_custom_target(foo) add_custom_command( TARGET foo COMMAND ${CMAKE_COMMAND} copy ${CMAKE_CURRENT_BINARY_DIR}/test/input.txt ${CMAKE_SOURCE_DIR})
แต่ไม่มีใครใช้งานได้
ผมทำอะไรผิดหรือเปล่า?
configure_file
จะไม่ทำงานกับไดเรกทอรีย่อยแม้ว่าคุณจะใช้ GLOB เพื่อสร้างรายการไฟล์ก็ตาม